Familiarization with Test Architecture
After a test strategy has been defined, you can go to the next level of detail in planning the testing activity: the definition of a test system. The concept of a test system refers not only to hardware needed for the testing, but also to test architecture and test configurations. Let us discuss test architecture.
Test architecture relates to the hierarchical structure of test situations – tests scripts, test cases. In practice, it is advisable to organize these tests in such a way that each test is designed to test a certain clearly defined part of the functionality of the software product under review. If the test fails, the developer can easily rerun this test and reproduce the detected defect, then analyze it and try to identify the cause. Ideally, the scope of the test should be narrowed, and the test itself must perform some minimal set of actions necessary to cause the system to fail. Penetration test company takes care of IT infrastructure sensitive to external and internal vulnerabilities.
If a software product requirements document serves as the basis for the tests, the practical rule for determining the scope of a particular test can be a criterion under which at least one test is assigned to each such requirement. In addition to the fact that this rule efficiently determines the size of the tests, the “at least one test per requirement” principle simplifies support for test planning and test execution activities. Based on the technical design specification analysis, one can get an idea of how many new tests are needed to test a new software product. If you write tests, guided by this principle, it is easy to calculate what time it will take to develop and run tests built upon previously obtained results.
Tests relying on the principle described above make it possible to systematize the process of organizing the tests. Requirements are usually grouped according to functional characteristics. You can organize your tests on the same principle. Tests that verify the readiness of the customer’s technical facilities for a domain operation can be combined into one group; similarly, tests that check the mechanisms for installing and expanding the system’s features constitute another group. A group of related tests is called a test suite.
Each requirement can consist of several components. For example, a requirement that governs the procedure for editing database elements of a particular customer can define several different scenarios. The test case is a set of input test data, test execution conditions and expected results that are targeted at a specific goal. The test case is the smallest test unit that allows for independent test execution, from start to finish.