Three basic questions must be answered to completely understand the Product Testing Life Cycle (PTLC).
- What is a product? The term product is used to describe all goods, services, and knowledge sold. Products are bundles of attributes (features, functions, benefits, and uses) and can either be tangible, as in case of physical goods (software or hardware); intangible as in case of those associated with service benefits; or can be combinations of both.
- What is Product Development Life Cycle (PDLC)? The PDLC has multiple phases of work that bring products from idea to final sale. It starts with new product planning (e.g.) concept, feasibility, definition; to product introduction (e.g.) development, launch; to post-launch.
- What is testing? In general, testing is finding out how well your product works when it is used by your customers. And, how well it works at various phases or even sub-phases of PDLC before moving on to next phase. Remember, the defects found and corrected in the early phases of PDLC costs less compared to the defects found at the later phases.
When a product is built, testing is of paramount importance throughout PDLC for the success of the product in the market. Testing has to be planned as an independent lifecycle of its own (Product Testing Life Cycle – PTLC) together and in-parallel with PDLC. PTLC must address testing at various points in the entire PDLC to determine if the objectives are being met and assess the quality of a product. In simple terms, it’s a verification and validation process of PDLC. For example, when the design is complete, coding follows and the finished code is then tested at the unit or module level by each programmer; at the component level by the group of programmers involved; and at the system level when all components are combined together. At a high level, PTLC involves six key phases and each phase having its own entry criteria and development. The phases are:
- Requirement Analysis
- Test Planning
- Test Case Development
- Environment Setup
- Test Execution
- Test Cycle Closure
Here the testing team first understands the requirements of what is going to be tested and the testable requirements. Requirement Specifications or definition is required, which prepares the queries that need to be resolved, the type of tests (functional, non-functional) need to be carried out, the environment in which the test has to be carried out and automation feasibility.
Input: requirements specifications, application/product architecture
Output: list of questions, conflicts, missing or not understood requirements, automation feasibility report
2. Test Planning
This is an important part where the testing strategy is defined. Here the cost and effort of testing are determined. This process starts on completion of the requirement phase. The result of this phase produces a test plan and testing effort documents.
Input: requirement documents, automation feasibility report
Output: test plan, testing cost estimation report
3. Test Case Development
The next step after the test plan is creating the test cases. Along with this test data is also prepared if any is required for testing. A requirement traceability matrix is also prepared. This is an industry-accepted format for tracking requirements where each test case is mapped with the requirement.
Input: requirement documents (updated version), automation feasibility report
Output: test cases, test data, test automation scripts
4. Test Environment Setup
Test environment decides the conditions on which the product is tested. Either the developer or customer creates the environment. This setup can be done in parallel with test case development and smoke test cases (minimal set of tests run on each build to verify if the build is stable) can be created to test the environments feasibility.
Input: test plan, smoke test cases, test data
Output: test environment with test data, smoke test results
5. Test Execution
After the environment is set up and the test cases are ready, the execution of test cases starts in this phase. Each test case is marked as ‘Passed’ or ‘Failed’. On failure of tests, corresponding defects are reported to the developer team through bug tracking systems, (e.g. JIRA). Once the bug is fixed, the test case is run again for this bug to retest the functionality. Every failed test case is usually associated with a single bug. Certain test cases that are blocked due to defects in test cases can be marked as ‘Blocked’ and a report is generated for Passed, Failed or Blocked test cases.
Input: test case, test data, test plan
Output: test case execution report, Defect Report
6. Test Cycle Closure
An overall understanding of the PTLC is done here based on test coverage quality, cost, time, and software. Here we can understand how to improve our new test cycles by understanding the bottlenecks faced during the current cycle. Test case and bug reports help analyze the defect distribution by type and severity.
Input: test case execution, test case execution report, Defect Report
Output: test closure report, test metrics
We at TestOnNeed help our customers to go-to-market with their high-quality products by helping them to plan and test throughout Product Testing Life Cycle (PTLC) for Web, Mobile, API, and Desktop applications combined with DevOps. We ensure our customers get the best results and products to go live. Reach out to us today with you’re testing project requirements at https://testonneed.com/
Being efficient and fast is all about transformation and success is all about welcoming it. Start your project today at https://testonneed.com/starttest/.