Test Entrance Criteria
Figure out When a Project is Really ready for QA
Test Entrance Criteria (TEC) is a set of preconditions that must be met before Quality Assurance (QA) testing can begin. It is a critical stage in the software development life cycle (SDLC) as it helps to ensure that testing is conducted efficiently and effectively.
The purpose of TEC is to:
- Ensure that the project is ready for testing
- Identify any potential risks or issues that could impact testing
- Set clear expectations for the QA team
- Establish a baseline for measuring the success of testing
TEC should be developed by the QA team in collaboration with the development team and other stakeholders. It is important to involve all relevant stakeholders in the process to ensure that all perspectives are considered.
I can recall the first stage of the Client Center project when the Project Manager wanted to quickly deliver some new functionality to a group of test users. However, there was no example of what customers were going to see. QA didn't have any expectations of the deliverable. In the end, the product shipped and there were no major issues but it took longer than needed because there were no Test Entrance Criteria.
The biggest problem was understanding the definition of ready, QA wasn't sure when the product was presentable state to customers. Basically, QA was testing code while minor Dev issues were being resolved.
QA had to go to the Product Manager several times to figure out if the functionality was supposed to work the way it was or did the Dev team not understand some concepts of the way things were supposed to work.
This mix-up caused a longer test cycle than needed.
Future iterations of this project resulted in more detailed documentation for the Dev team. This presented a more stable build for QA and a more predictable QA test cycle.
Test Entrance Criteria Items
TEC can vary depending on the type of project, the testing methodology being used, and the specific needs of the organization. However, some everyday TEC items include:
- Availability of testable code: The code to be tested must be in a complete and stable state. This means that it should be able to be compiled and executed without errors.
- Approved requirements: The QA team must have access to the approved requirements for the project. This will help them to ensure that their testing covers all of the required functionality.
- Test environment: The test environment must be set up and ready to use. This includes having the necessary hardware, software, and tools in place.
- Test data: The QA team must have access to sufficient and appropriate test data. This data should be representative of the real-world data that the system will be used with.
- Test cases: The QA team should have developed and completed all of the test cases for the project. These test cases should be based on the approved requirements and should cover all of the required functionality.
Once the QA team has confirmed that all of the TEC items have been met, testing can begin. However, it is important to note that TEC is not a rigid checklist. If there are valid reasons for not meeting all of the TEC items, the QA team may still be able to begin testing. However, it is important to identify and mitigate any risks that may arise as a result.