Incorporating Testlab to your product development process

This document describes the benefits of using Testlab in your software product development and gives pointers on how you should incorporate the tool as a part of your development process. Each section of this document features a summary of benefits regarding your field of expertise.

 

Introduction – for product developers

In this document, the premise is that all software product development processes are customer driven. This means, that even if you develop in-house software products – meaning, that the software is used inside your own organization – you should think your own users as customers for your software.

For simplicity, we’ll summarize the product development process to three prime activities:

Scoping

Requirements ≎ Architecture ≎ Business case

Implementation

Design ≎ Construction ≎ Testing ≎ Debugging

Development

Maintenance ≎ Validation ≎ Improvement

The Scoping activity consists of design and feasibility analysis aiming to verify, that the product is viable. It usually consists of some kind of requirement gathering phase, preliminary technical design and all analysis concerning the return of investment for the product. The goal of the Scoping is to verify, that the product is viable as a good investment and to plan the features for the product to the level in which the design can be continued on. 

The Implementation activity consists of tasks involving the design of the product’s specifications, technical details and tasks for the actual construction of the first version of the product. This usually includes the refinement of the specification, technical design, coding & debugging, testing and deployment activities. The goal of Implementation is to construct the first version of the software.

The Development activitity includes the activities relating to maintaining the product and developing it further to gain competitiveness for the product. A crucial part of product development is also validation, which means that in customer driven approach the product is continuously validated and fed with features customers need and request. The goal of Development is to capitalize the investment made to the software and make future gains through further development. 

 

Scoping

The scoping activity is preliminary planning activity defining the what of your product to validate the feasibility and business case of your software.

It is crucial to document the features and requirements of your software product as clearly as possible and in a manner, where the product can be realized and developed as cost-effectively as possible. Any risks realized in the product implementation phase have direct impact on the return of investment of your product and a good specification and design phase beforehand is an good way to minimize these risks. In addition, a good specification helps you to make the calculations on the facts, that validates the business case for your product.

The specification of your software product – features and all other requirements – should be documented in a Testlab project. As Testlab is methodology agnostic, you can document your features as assets that best fit your software development method. For example, if you use Agile methods such as Scrum, you can document the specification as user stories. If your software development method requires different kinds of assets such use cases or business requirements, feel free to document your specification with these.

 

How-to & Benefits

With Testlab, you should document and/or import your requirements (business requirements, user stories, use cases, whatever you prefer using) to a Testlab project. You can utilize approval-workflows in Testlab to collaborate with persons involved in product development. 

During development, the user stories and requirements of the product must be kept up to date in your Testlab project. 

benefituser
For Test Managers and Testers
  • Make work more efficient with centralized storage of requirements
  • Make change management easier – analyze impact on test plans when requirements change
  • Achieve efficiency through team collaboration
  • Assign and distribute work more easily
  • Achieve traceability to specification through automatic history generation
benefituser
For Product Managers
  • Collaborate better with product development team
  • Having all quality related assets linked together gives unprecedented visibility and reporting possibilities compared to the situation, where assets are distributed among systems
  • Reporting and metrics ensures better response to change
  • Get better traceability on change in your product for later reference
  • Achieve standardization of the documentation between different products
benefituser
For Technical Leads and Developers
  • Easy to use tool helps to keep specification up to date
  • Make transition from specification phase to implementation easier
  • Achieve trust in specification through collaboration with the team
  • Technical design and implementation is easier when the design relies on approved requirements you can trust on
  • Running in new team members and or/splitting teams is easier with up to date specification
  • Collaborate better with your team
benefituser
For Executives
  • Increase sales with better quality products
  • Minimize product risks and achieve better competitiveness and profitability
  • Improve customer satisfaction

 

Summary

Long story short, you should plan and keep your specification assets up to date in your Testlab project. This includes user stories, use cases and/or other kinds of requirements your specification consists of. If and when your chosen development model requires updating specification during implementation the assets should be updated in Testlab. 

 

Implementation

The implementation activity consists of all tasks related to the actual design & construction of the product. This also includes the testing tasks verifying that the implementation works as planned.

In the actual implementation tasks such as programming, technical design and debugging, Testlab acts in a small role from usage stand point. It is essential to refer to the requirements specified in your Testlab project though.

In testing and issue management, Testlab takes the stage.

Test design

The testers, people responsible for testing of your product implementation, plan the test cases for your product. If your Testlab project has an up to date set of requirements as a specification (what it should) the test cases are linked to these requirements. This way, you can report coverage of the testing against the actual functionality implemented. The test cases can be planned before hand or documented during or after the testing, depending on the testing process you are using. Test cases and their steps are entered as assets in to your Testlab project.

If you are using Agile methods which strive to produce tested and working versions of the system at the end of each iteration, testing must be one of the core activities of the whole team during the sprint. Having separate “testers” and “programmers” in a team usually does not work or atleast, the sprints produce maybe-working-betas instead of tested deployments. When testing related activities are shared between all developers in the team, it is everybody’s responsibility to keep the test cases of the stories they are implementing up to date in Testlab – even if the actual testing would be divided between team members.

Testing

Most common way to execute test cases is to execute them in as logical sets in specified order. Testlab supports creating repeatable sets of tests which can be scheduled and assigned to your team members.

If you are using Agile iterative methods such as Scrum, the testing is continuous activity done during the sprints. As explained above, we recommend that all team members should participate in testing and each developer should be responsible atleast on planning the test case(s) for the stories they are tasked with. In this case, each developer adds test cases to the Testlab project if applicable.

In any case, the team members responsible for testing should create test cases and execute them. When test cases are executed the results of the test cases and their steps get automatically recorded to your Testlab project.

Automated testing

If you prefer to automate your testing for example with programmed unit- or integration tests, you should publish the testing results for these automated tests to Testlab. This way, you get total view on your testing coverage with manual testing and automated testing combined.

Issue management

When testing, issues in the product implementation are found. They are recorded to Testlab as issues which might be defects or in a good case, new features or enhancement ideas. Issues are often recorded by testers, but it is a good practice that all members of the product development team share this activity.

Issues can be seen as tasks which should be somehow resolved. In the most common case when the issues are bugs and defects, the issues are assigned to responsible developers, fixed, and marked as resolved. Team members responsible for testing then re-test the issues.

Issue management is a very common practice in software development and a variety of tools exists for the job. Testlab’s in-built issue management features are implemented for easy and efficient usage but Testlab can also be integrated with your issue tracker of choice if preferred.

 

How-to & Benefits

With Testlab, you plan and document test cases to your Testlab project. Test cases are organized and executed in test runs and testing results are recorded to the project. Issues encountered are recorded, resolved and handled to conclusion.

benefituser
For Test Managers and Testers
  • Distribute your work and manage your testing efficiently
  • Achieve visibility throughout the lifecycle of the product: From specification to test cases through to issues
  • Record testing results efficiently
  • Easy re- and regression testing
  • No more documenting – export testing reports easily
benefituser
For Product Managers
  • Easy access to the status of the testing
  • Get efficient reporting
  • Supports team collaboration
benefituser
For Technical Leads and Developers
  • Easy access to the product specification
  • Make issue management easy
  • Trace issues back to the specification
  • Supports team collaboration
benefituser
For Executives
  • Get better metrics on product quality
  • Minimize risks and achieve better competitiveness and profitability
  • Achieve continuous improvement on product quality

 

Summary

With the goal of validating, that your product does what is expected, plan and/or document your testing as test cases in Testlab. When testing, execute test cases and document findings as issues. Resolve issues and re-test. From feedback learnt from issues update the specification and related test cases to achieve continuous improvement.

 

Development

Before the first version of your product can be launched, it is often distributed or deployed for your customers. When the product is taken in use successfully, it moves into maintenance phase where the product is maintained and developed further.

Launch of the first version

Before the launch of your product, it’s crucial to get the confidence that it works as expected.

Many software development processes include a separate acceptance testing or installation testing phase. This means, that before deploying the product for customers, the implementation is tested, typically as a complete system. 

In Agile methodologies as each iteration produces a tested and working version of the product, the deployment and acceptance cycle is continuous. In this case, each iteration should be tested with the same quality level as the acceptance tests in the typical scenario explained above. To achieve the same level of confidence to the version of the software to be deployed, efficient testing tools are essential.

Using Testlab, all test cases and planning done in the implementation phase is usable as it is in acceptance testing. Continuous testing in the implementation phase ensures, that the effort planning the acceptance testing is minimal.

Maintenance and follow-up development

When your product moves to maintenance phase, it is typical that issue management takes a bigger role. Using issue management, any issues encountered in the product get resolved in your process. Keep in mind, that depending on the nature of your product, Testlab can be utilized as a ticket system for any customer related findings. As issues can be configured to trigger e-mail notifications to the assigned developers, handling the issues becomes easy.

Any follow-up development on your product, using Testlab gives immediate benefits. The specification and the test plan in your Testlab project can be used as it is for further testing of new versions. Revising existing requirements and/or user stories and adding new ones, you can create the basis for the development of your follow-up features. For new further versions of your product, using Testlab’s milestones is a great way to organize and branch features of your product.

 

How-to & Benefits

Plan, schedule and execute your acceptance and/or installation tests in Testlab. Generate reports for interested parties on delivery. Continue development of follow-up features in Testlab and utilize all assets created so far as they are.

benefituser
For Test Managers and Testers
  • Keep specification and test plan up to date during maintenance
  • Get confidence in delivery quality
  • Organize testing more efficiently, keep product deliveries in deadline
benefituser
For Product Managers
  • Get confidence in delivery quality
  • Easy reporting for management
  • Increase team commitment through collaboration
  • Kick off followup development more efficiently
benefituser
For Technical Leads and Developers
  • Kick off follow-up development more efficiently 
  • Handle maintenance tickets more easily
  • Collaborate better with your team
benefituser
For Executives
  • Increase customer satisfaction
  • Increase sales with more efficient development process
  • Increase profitability of maintenance and support

 

Just get me started

To keep things simple, how should you start with Testlab to get easy gains ? You should start the use of Testlab with three goals:

  1. Make sure to plan and specify the requirements you wish to verify to Testlab – in one way or another. This can be done directly to Testlab or, the specification (requirements/user stories/use cases/… you wish to test & verify) can be easily imported from your JIRA, Pivotal Tracker or Excel.
  2. Document the test cases to Testlab – before testing or afterwards, depending on the testing approach you wish to use. Documenting test cases makes your testing transparent and repeatable. Link your test cases to your requirements in the specification to achieve visibility on the coverage of your testing.
  3. Record issues in Testlab – or to a system integrated to Testlab (such as JIRA). Recording issues gives you visibility on the status of product quality and makes re-testing and regression testing possible.

Following these three steps gives you immediate gains on traceability and visibility of your product development efforts and in efficiency of your testing activities.

I just want to manage test cases

Feel free to do so! Testlab is designed in a way that using requirements is not mandatory. We highly recommend you do, though, but just managing your test cases, executing them and handling issues encountered is possible.

 

If you have any questions or would like to talk with us more, please don’t hesitate to contact us. We are more than glad to help you in your efforts to get the best of your product development efforts.

Also remember, you can easily sign up to our hosted service and try Testlab for yourself. You’ll get your own Testlab running in 5 minutes for 14-day free trial period. No obligations!



 
 
Best-of-class cross-browser hosted SaaS quality and test management, testing and issue management tools to improve your quality. Site information.