Training Plan
Course 1: The Basics of Software Testing
Individuals need a basic understanding of the vocabulary, principles, and concepts for testing. Consider a job in the math profession: The basics include the ability to add, subtract, multiply, and divide. Without these basic abilities, it would be difficult to perform any significant mathematical computation. Likewise, without mastering the basics of software testing, one could not test effectively.
Course 2: The Process for Testing the Software System
Testers need to know the right way to test a software project. Without an understanding of how to prepare for testing or how to develop and execute a test plan, testers might just prepare and run test conditions. The equivalent to this course is the seven-step testing process presented in this book.
Course 3: Software Testing Tools
If the tester's organization uses tools to test the software, the tester should become proficient in the use of those tools. It is recommended that testers not be allowed to use a specific tool until they have been sufficiently trained.
Course 4: Test Case Design
Preparing the appropriate test cases is a important part of testing software. Testers need to know sources of test data, the various types of test data that can be prepared (for example, use cases), and how to prepare, use, and maintain those test cases.
Course 5: Variance Analysis and Defect Tracking
Testers need to now how to identify a variance from expected processes. Once they have identified the variance, testers need to know how to document that variance and how to present them in an acceptable manner.
Course 6: Preparing Test Reports
Testers need to know the type of reports that should be prepared, how to prepare them, who should get them, and how to present them in an acceptable manner.
Course 7: Test Process Improvement
Testers need to know how to use the results of testing many different projects to identify opportunities for improving the testing process.
__________________________________________________________________________________
Not Competent:
It is a skill you do not have or a skill you do not believe you could use in the process of testing software. For example, for the vocabulary skill, you do not have a sufficient vocabulary to adequately discuss the job of software testing. Terms such as "regression testing," "black box testing," and "boundary value analysis" are not within your vocabulary.
Competent:
You have learned the skill but have not practiced it sufficiently to believe you have fully mastered the skill. For example, you understand regression testing and know what to do, but you have not practiced it enough to feel you could perform it effectively.
Fully Competent:
You understand the skill, know what to do, and feel very confident that you can perform the skill effectively. For example, you can develop and execute a regression test with high confidence that you can identify changes that occurred in the unchanged portion of the software.