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.