CPE 309 Training Plan


Purpose

The purpose of this document is to describe what technical training activities are necessary on this project.

Required Skills

Add to the list below any additional technical skills that developers will need for the project to succeed. This list is best created as a team activity.
  1. Design black box test cases using Equivalence Partitioning and Boundary Value Analysis.
  2. Write an automated system test script.
  3. Write an automated GUI test script, such as Abbot.
  4. Design white box test cases using control structure analysis and basis path analysis.
  5. Write JUnit tests.
  6. Write java source code that conforms to class coding standard.
  7. Be able to use the Checkstyle automated coding style checker.
  8. (Optional) Use the AStyle reformatting tool to format source code.
  9. Be able to use Subversion for source code control.
  10.  Be able to use Trac (or Teamatic or Elementool) for defect reporting and tracking.
  11.  Be able to follow the Personal Software Process (PSP) and complete the required documentation correctly.
  12. Carry out a software code inspection properly and complete the required documentation correctly.
  13. (Optional) Be able to use the Emma coverage tester.  (Here's a Emma walkthrough).

Initial Skill Assessment

(Spring 2008) We will assume that our team members have none of the required skills with the following exceptions:

Training Goals for Individuals

The goal is for all individuals to be competent with all of the required skills list above.

Training Resources

  1. Read the class coding standard.  Read the Checkstyle overview and features and how to run Checkstyle from the command line.
  2. Read the intro to CVS presentation, the CVS/SVN Tutorial, and if necessary the Subversion manual.
  3. Read  Why use JUnit? and  the JUnit quick start guide and the JUnit Style guide.
  4. Read about the difference between black box and white box testing. (Skip "reader comments").
  5. Read about two Black Box Testing techniques.
  6. Read the System Test Case format and guide to writing System Test Cases and Scripts
  7. Read about Control Structure Testing.
  8. Read the Basis Path Testing Tutorial and study the Basis Path Testing example
  9. Read about Software Inspections.
  10. Read about PSP procedures.  Basic PSP script and FAQ.
  11. Read about using the Abbot GUI testing framework.
  12. Add other resources as appropriate.

Training Activities

  1. (Read) Printout this sample java module (on a single page) and mark in ink all the deviations from the class coding standard. You may use a brief narrative comment (e.g., "missing @param tag") or you can use a reference number from the coding standard.  Rename the file with a ".java" extension. Now run the Checkstyle tool with the 308style.xml and 308checks.jar and obtain a printout of the results.  Highlight each item on the printout that you failed to find through manual inspection. Also note any items you discovered that were not found by the Checkstyle tool.

  2. (Read) Carry out the Build Poem and the PolyRanking exercises to demonstrate updating a module in the class SVN repository.

  3. Part A. (Read) The Lewis and Loftus text provide an Account.java class (Listing 4.5) that represents a bank account. They have a typical test driver called BankAccounts (Listing 4.4).
    Part B. Follow the steps in the tutorial How to Test Units in Isolation with JUnit and complete the short exercise at the end.

  4. Part A) Invent a fictitious defect and demonstrate creating, updating, and closing the defect in your team's defect tracking tool. 
    Part B) Complete the defect reporting and repair exercise 3 with your Java application.

  5. Part A. Complete the ad-hoc testing activity.
    Part B. (Read) (Read) Complete the homework on black box techniques.

  6. Part A) (Read) Complete the system test revision homework.
    Part B) Complete the system test script homework . (Spring 2008) Complete the Costello Tutorial (skip the exercise at the end). Submit printout of the script you created.

  7. (Read) Complete the one problem in the Control Structure Testing Homework.

  8. (Read) Complete the two problems in the Basis Path Testing Homework.

  9. Part A. Complete the PSP training activity Part A.
    Part B. Complete the PSP training activity Part B.

  10. (Optional) On the course Resources page, find the link to the AStyle reformatting tool. Download the tool and use the sample batch file to reformat this example poorly formatted code. Compare the result to the original and explain what improvements have been made.

  11. (Read) Complete the Software Inspection Homework.

  12. Supplemental Basis Path Testing Assignment (optional)

  13. Supplemental JUnit Testing Assignment . (optional)

  14. Supplemental Defect Repair and Reporting exercise 2. (optional)

Training Assessment Procedure

Spring 2008
Developers complete the activities according to the course calendar.
On the due date the developers bring their completed work to class.
Instructor leads a discussion of the activity and solutions. 
Developers review each others work and mark corrections on the paper using green, red, or pink colored ink.
Instructor reviews work, records credit/no credit/bonus, and returns to developers.


Spring 2006
Developers complete the activities according to the course schedule.
On the due date the developers bring their deliverables to class.
Instructor leads a discussion of the activity. 
Developers review each others work and mark corrections on the paper using green, red, or pink colored ink.
Ten points possible per assessment.
Instructor reviews work, assigns score, records score, and returns to Training Manager.
Training Manager keeps record of which developers have completed which assessments.
Training manager recommends supplemental training as appropriate for developers with low scores.

Schedule (Suggested)

Before unit development begins (Stage 1) developers must have completed:

(Recommended, not required) The PSP documentation training
The coding standard training.
Using CVS.

Before unit testing begins (Stage 1) developers must have completed:
Read the Test Plan.
The JUnit test case writing training
(Recommended) How to Test Units in Isolation with JUnit.
Before beginning integration tasks developers must have successfully passed the assessments for
Read the Change Control Plan.
Using CVS

Using the team defect tracking tool.
Before beginning writing system test scripts developers must have completed:

The black box testing training
The system test script training
Before unit development begins (Stage 2) developers must have completed:
The control structure and basis path testing trainings.
Design By Contract training.
Before beginning any software inspections (Stage 2) developers must have completed:
The software inspection training.
Before beginning maintenance tasks developers must have successfully passed the assessments for
Using CVS
Using team defect tracking tool.

Training Results

Summary

Give a summary of how the training plan was carried out.
 

Assessment Results

Include the actual results from the assessments.
 


Document History

1/6/05 Revised Assessment Procedure for Wtr 05

1/12/04  JD  Made PSP optional instead of strikethrough.  Added 206 to title. Changed "teamatic" to "team defect tracking tool."
12/30/03 JD Revised for Winter 2004
5/12/03 JD added link to Basis Path Tutorial
4/13/03 JD added link to PSP training
4/2/03 JD added testing article to "activities"
3/30/03  JD  Initial Release
 
 

link back to team home page