CMM process of the overall idea, one is based on the distrust of people, so set up a variety of processes, documents, checklist, to check whether to achieve indicators, only to reach the target to go down. Second, downstream work is based on the upstream of the document, the general downstream of the work is not the right upstream, so the upstream work requirements higher, once the upstream work out of the problem, follow-up work and no one can point out, then the whole work may have problems. So the CMM process tries to make the software production work as the traditional manufacturing line, but it is dangerous to run in the early stage.
The whole process of CMM includes requirement analysis, specification design, outline design, detailed design, coding, UT, ST, bbit, etc. from the test, including test strategy, test scenario, test case, automation script, test execution several processes.
As we all know, the test theory is divided into two factions, one is confirmed, one is falsification, but as the enterprise project, falsification of the cost is too high, generally to confirm the main, that is to prove that customer demand is available, the product can meet customer needs.
Testing wants to prove that the product meets the needs of the customer and clearly needs to be well understood, to have a good understanding of the needs, the best way is to participate in the needs of the test personnel analysis, participation in customer demand clarification, and even the design of the project, so the test (to participate in requirements analysis, specification design generally known as static testing) the earlier the better. Static test, the main purpose is to familiarize themselves with the requirements, the second is from the point of view of testing, customer's point of view to analyze the customer's explicit needs and hidden needs, to avoid omission and deviation, especially the implicit demand, there is also a goal is to extract test requirements to ensure the testability of demand.
The development of a test strategy requires a high skill and a comprehensive understanding of the system, to the needs of the overall understanding of the requirements of people higher, so generally after the completion of the development, testing, and even hardware, maintenance staff to discuss; The goal of the strategy is to guide the development of the entire test, and to determine when and when to test. What is the focus of the test, how the test technology is prepared, how the test environment is planned, and what to focus on when resources are conflicting, to guide subsequent test scenarios, test case writing, environmental preparedness, test execution, and so on.
The writing of test plan is relatively easy, mainly use some test work plan, analysis of requirements, specifications, combined with experience, clear the characteristics of the test focus, difficulties, test environment planning, automated design ideas, and so on, to answer the measurement and how to test the problem, the final solution in addition to clear these content or clear test case title To guide subsequent test case writing and automated scripting.
Test cases and automated scripting are simpler, according to the title of the test case, explicit test preset conditions, test steps, and expected results, and scripts are written according to these conditions, steps, and results.
Next is the key test execution, some people say, test case design is good, test execution step-by-step can, in fact, is not the case, software production is different from the traditional manufacturing, people's subjective initiative plays a key role, because all the previous work can not be done 100% correct, So the final loop test execution shoulders the responsibility of all the mistakes in the early stage. Test execution In addition to the use case execution, the key is to fully understand the needs of the initiative to think, find out the hidden dangers and unreasonable places.
The final embodiment of the test work is a clear, data-supported test report, you can use a variety of methods to determine whether the software to achieve quality objectives, but ultimately to answer whether the function is available, there is no risk, the size of the risk, whether the risk can be circumvented and control a few problems.