Fundamentals test process - STLC (Software Testing Life Cycle)
Test Process in context - factors influencing testing
- SDLC model - and project methodologies influence the entire process of testing
- Test levels and types considered - based on the functional and non functional
- Project and product risks based on BA/PO knowledge on similar projects worked or home work made on analysis of the domain.
- Business Domain
- Operational constraints
- Budgets
- Resources
- Timeline
- Complexity of the code
- contractual and regulatory requirements
- Organizational practices and practices- no remote work,
- Internal and external standards - each company involved on the product built may have to be considered.
Test Process
- Test Planning
- Test monitoring and Control
- Test Analysis
- Test Design
- Test Implementation
- Test Execution
- Test Completion
- Test Planning - Considers all major plan/layout steps of testing to be done
- Overall objective on coverage, defects, severity, risks are decided in this phase.
- Scheduling of the testing activities overall on all levels of testing.
- Assigning resources based on when the testing will start, who will be doing it - experience versus new comparison and analyze and provide accordingly- share responsibilities
- Documentation template- traditional heavy - agile- documentation is simple and light with
- Matrices for monitor and controlling
- Defining entry and exit criteria
- Deciding about automation
- Test Monitoring and control
- Test Monitoring is for the measuring the progress in the project,
Create matrices to measure the progress of the testing activities. Ex: Coverage Matrix, Traceability Matrix, Execution summary
Execution rate = total test cases executed/total created*100 = ex: 45% - Test Control - defect closure
When the plan is made, the control action is also defined so we are prepare whwn te things don't go right, Steps to take to control the issues and meet the objectives of the test plan.
- Test Monitoring is for the measuring the progress in the project,
- Test Analysis
- Analyzing on test Basis - which is used for documentation used for reference for testing, ex: requirements, - sometimes we find defects in the documents like a spec-walk thru form the BSA, where u can see some omissions, inaccuracy etc.
- Identify the features to test by going thru the doc - to see what is testable and non-testable.
- Define test conditions while finding scenarios
- functional and non-functional to be analyzed and filtered separately.
- Test Design - Phase designing and prioritizing the test cases
- you have analyzed know what's the requirement, and what test cases/scenarios can be written
- Test data creation to support the test cases crated
- Design the environment- parallelly create the template for the test bases and the test cases, to make sure the requirements are converted to test cases - can be validated either way- as it is suggested as bidirectional matrix (Requirement Traceability matrix)
- Test Implementation - this is the step to get prepared for Execution
- the pre-requisites to be done before test execution- test procedures are the set of actions to do before test execution.
- test suite- Collecting all test cases together and say these are the cases to be executed in the phase
- test scripts to automate will be prepared in this implementation phase.
- Execution schedule- defines the technical, logical, flow and hierarchy for the requirement
- Building the QA/Stage/prod environment- confirm the environment is ready and we are good to go with the execution
- Test data- required are confirmed and completed here
- Bi-directional matrix is reviewed here so all requirements are covered
- Test Execution - it mainly what testing is all about
- Start executing all test cases one by one - each will start with the order of - pre-requisite- and test steps with the test data defined
- results are provided as pass/fail - based on the comparison of the expected vs Actual.
- if the test case fails- a defect is created and sent to fix
- once its fixed confirmation testing is done
- once CT is done regression testing is done
- Test Completion - in traditional we call test closure- in agile we call it as retrospective
- In between TE and Test completion - once all te is complete like functional, non functional, upgrade, migration, test data to be added etc.. the exit criteria is evaluated
- Exit criteria is met is to confirm, once all the test cases are executed- like objective of the testing is met. once its met we call of testing phase and move to test completion phase- which is a post the test execution phase.
- Log reports for the activities done during the earlier phases
- defects closed
- deferred defects
- change request proposed
- any new updates
- test Summary report which generally contains the overview of all major activities
- Finalizing the test cases for regression for future release. this deals with lot of updates and upgrades on the existing release.
- Lessons learnt form the completed activities - from all contributor and tester- to improve the process- contributes to maturity- minimize defects- add value to process- more quantitative and qualitative approach.