Involving Testing Students in Software Projects : Involving Testing Students in Software Projects Patrick J. Schroeder
University of Wisconsin - Milwaukee
Slide2 : … choice of tester was seen to be a larger factor in the resulting effectiveness of the testing than was choice of test technique.
“Experimental Evaluation of Six Test Techniques” - L. Lauterbach, W. Randal A conclusion of the study:
What Skills Does a Tester Need to Succeed? : What Skills Does a Tester Need to Succeed? Communications Skills – persuade, influence, educate managers, developers, customers
Interpersonal Skills – remain sensitive and constructive in complex, political, stressful situations
Creative, Intuitive, Critical Thinking Skills – understanding the possibilities of the product and how it can fail
Approach: Learn by Doing : Approach: Learn by Doing CS536 Intro to Software Engineering (SE) – Grad/Undergrad
CS790 Software Testing and Quality Assurance – Grad, w/CS536 Pre-req.
CS536 SE teams paired with CS790 test teams in execution of a software project
Application : Application Shari Pfleeger’s Loan Arranger System
Mortgage-backed security business
Data Repository Architecture
Multi-user system
Complex calculations – accrued interest
SE’s Assignment : SE’s Assignment Complete the requirements specification (use cases, high-level class diagram)
Design, implement and deliver software on an incremental delivery schedule
Negotiate the scope of the project
Provide software releases, release notes, installation instructions to the testers
Respond in a timely fashion to bug reports
Tester’s Assignment : Tester’s Assignment Find a way to help the your SE team deliver a better product, by:
NOT demoralizing them
Finding important bugs quickly
Writing good bug reports
Helping them understand the product
Understanding their software capabilities
Generating a light-weight test plan and test logs
Tester’s Journey : Tester’s Journey “Damaged Goods” First Person
on the
Airplane
Fallback Plan : Fallback Plan Incremental deliveries made of the TA-Prof version of the software
Allowed testers to execute tests even if their SE team was not delivering
Project Execution : Project Execution Much excitement generated!
Fewer than expected flame wars in the bug tracker/email
Many software deliveries late or missed
Good, and really bad, software delivered
Some requests by testers to abandon their SE teams
Improvement of deliveries as the semester progressed
Bug Reports : Bug Reports Over 250 bug reports generated
Initial bug reports poor
Reviews of bug reports in class caught tester’s attention
SE’s and testers learned to recognize good bug reports
Final Project Evaluation : Final Project Evaluation SE teams filled out evaluations of their test teams
Test teams filled out evaluations of their SE teams
Each software project was tested with the help of the TA
Slide13 : Do you think that working on the LAS project gave you insight into the challenges of software testing?
0 1 2 3 4 5
|-----------|-----------|-----------|-----------|-----------|
No Yes
Slide14 : Do you think your testing team’s effort contributed to the quality of the final LAS product?
0 1 2 3 4 5
|-----------|-----------|-----------|-----------|-----------|
No Contribution Full Contribution
Slide15 : Do you think your testing team over tested or under tested the LAS software?
0 1 2 3 4 5
|-----------|-----------|-----------|-----------|-----------|
Under Tested Over Tested
Slide16 : The number of tests I personally executed was (roughly): ______
Slide17 : A different approach to teaching software testing is to use a smaller, controlled, previously completed program. This approach omits interaction with software developers.
I would prefer testing an existing program in a controlled environment
I prefer working with on a “live” project with software developers, despite the chaos
Slide18 : How did you communicate with the SE team? (Check all that apply)
Bug tracker
Email
Face-to-face meetings (other than requirements review)
Slide19 :
Conclusion : Conclusion Great project experience for the SE teams
SE students short-changed on testing
Good testing experience for the test teams, in the context of a chaotic project
Good exposure to a wide variety of challenges that testers face
Problem: not enough time
Problem: evaluating projects costly
Problem: application too complex
Slide21 : Thank you!
Pat Schroeder
University of Wisconsin Milwaukee
pats@uwm.edu