21
WTST 2003 1 Involving Testing Students in Software Projects Patrick J. Schroeder University of Wisconsin - Milwaukee

Involving Testing Students in Software ProjectsCS536 Intro to Software Engineering (SE) – Grad/Undergrad CS790 Software Testing and Quality Assurance – Grad, w/CS536 Pre-req. CS536

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Involving Testing Students in Software ProjectsCS536 Intro to Software Engineering (SE) – Grad/Undergrad CS790 Software Testing and Quality Assurance – Grad, w/CS536 Pre-req. CS536

WTST 2003 1

Involving Testing Students in Software Projects

Patrick J. SchroederUniversity of Wisconsin - Milwaukee

Page 2: Involving Testing Students in Software ProjectsCS536 Intro to Software Engineering (SE) – Grad/Undergrad CS790 Software Testing and Quality Assurance – Grad, w/CS536 Pre-req. CS536

WTST 2003 2

… 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:

Page 3: Involving Testing Students in Software ProjectsCS536 Intro to Software Engineering (SE) – Grad/Undergrad CS790 Software Testing and Quality Assurance – Grad, w/CS536 Pre-req. CS536

WTST 2003 3

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

Page 4: Involving Testing Students in Software ProjectsCS536 Intro to Software Engineering (SE) – Grad/Undergrad CS790 Software Testing and Quality Assurance – Grad, w/CS536 Pre-req. CS536

WTST 2003 4

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

Page 5: Involving Testing Students in Software ProjectsCS536 Intro to Software Engineering (SE) – Grad/Undergrad CS790 Software Testing and Quality Assurance – Grad, w/CS536 Pre-req. CS536

WTST 2003 5

Application

Shari Pfleeger’s Loan Arranger System

Mortgage-backed security businessData Repository ArchitectureMulti-user systemComplex calculations – accrued interest

Page 6: Involving Testing Students in Software ProjectsCS536 Intro to Software Engineering (SE) – Grad/Undergrad CS790 Software Testing and Quality Assurance – Grad, w/CS536 Pre-req. CS536

WTST 2003 6

SE’s Assignment

Complete the requirements specification (use cases, high-level class diagram)Design, implement and deliver software on an incremental delivery scheduleNegotiate the scope of the projectProvide software releases, release notes, installation instructions to the testersRespond in a timely fashion to bug reports

Page 7: Involving Testing Students in Software ProjectsCS536 Intro to Software Engineering (SE) – Grad/Undergrad CS790 Software Testing and Quality Assurance – Grad, w/CS536 Pre-req. CS536

WTST 2003 7

Tester’s AssignmentFind a way to help the your SE team deliver a better product, by:

NOT demoralizing themFinding important bugs quicklyWriting good bug reportsHelping them understand the productUnderstanding their software capabilitiesGenerating a light-weight test plan and test logs

Page 8: Involving Testing Students in Software ProjectsCS536 Intro to Software Engineering (SE) – Grad/Undergrad CS790 Software Testing and Quality Assurance – Grad, w/CS536 Pre-req. CS536

WTST 2003 8

Tester’s Journey

“Damaged Goods”

First Person

on the

Airplane

Page 9: Involving Testing Students in Software ProjectsCS536 Intro to Software Engineering (SE) – Grad/Undergrad CS790 Software Testing and Quality Assurance – Grad, w/CS536 Pre-req. CS536

WTST 2003 9

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

Page 10: Involving Testing Students in Software ProjectsCS536 Intro to Software Engineering (SE) – Grad/Undergrad CS790 Software Testing and Quality Assurance – Grad, w/CS536 Pre-req. CS536

WTST 2003 10

Project Execution☺ Much excitement generated!☺ Fewer than expected flame wars in the

bug tracker/emailMany software deliveries late or missedGood, and really bad, software deliveredSome requests by testers to abandon their SE teams

☺ Improvement of deliveries as the semester progressed

Page 11: Involving Testing Students in Software ProjectsCS536 Intro to Software Engineering (SE) – Grad/Undergrad CS790 Software Testing and Quality Assurance – Grad, w/CS536 Pre-req. CS536

WTST 2003 11

Bug ReportsOver 250 bug reports generatedInitial bug reports poorReviews of bug reports in class caught tester’s attentionSE’s and testers learned to recognize good bug reports

Page 12: Involving Testing Students in Software ProjectsCS536 Intro to Software Engineering (SE) – Grad/Undergrad CS790 Software Testing and Quality Assurance – Grad, w/CS536 Pre-req. CS536

WTST 2003 12

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

Page 13: Involving Testing Students in Software ProjectsCS536 Intro to Software Engineering (SE) – Grad/Undergrad CS790 Software Testing and Quality Assurance – Grad, w/CS536 Pre-req. CS536

WTST 2003 13

0

2

4

6

8

10

12

0 1 2 3 4 5

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

Page 14: Involving Testing Students in Software ProjectsCS536 Intro to Software Engineering (SE) – Grad/Undergrad CS790 Software Testing and Quality Assurance – Grad, w/CS536 Pre-req. CS536

WTST 2003 14

0

1

2

3

4

5

6

7

0 1 2 3 4 5

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

Page 15: Involving Testing Students in Software ProjectsCS536 Intro to Software Engineering (SE) – Grad/Undergrad CS790 Software Testing and Quality Assurance – Grad, w/CS536 Pre-req. CS536

WTST 2003 15

0

1

2

3

4

5

6

7

0 1 2 3 4 5

Do you think your testing team over tested or under tested the LAS software?

0 1 2 3 4 5|-----------|-----------|-----------|-----------|-----------|Under Tested Over Tested

Page 16: Involving Testing Students in Software ProjectsCS536 Intro to Software Engineering (SE) – Grad/Undergrad CS790 Software Testing and Quality Assurance – Grad, w/CS536 Pre-req. CS536

WTST 2003 16

The number of tests I personally executed was (roughly): ______

20Mode

200Max

5Min

36.8Avg

Page 17: Involving Testing Students in Software ProjectsCS536 Intro to Software Engineering (SE) – Grad/Undergrad CS790 Software Testing and Quality Assurance – Grad, w/CS536 Pre-req. CS536

WTST 2003 17

Controlled"Live"

11

20

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 environmentI prefer working with on a “live” project with software developers, despite

the chaos

Page 18: Involving Testing Students in Software ProjectsCS536 Intro to Software Engineering (SE) – Grad/Undergrad CS790 Software Testing and Quality Assurance – Grad, w/CS536 Pre-req. CS536

WTST 2003 18

How did you communicate with the SE team? (Check all that apply)Bug trackerEmailFace-to-face meetings (other than requirements review)

0 5 10 15 20 25 30

Bug Tracker

Email

Face-to-face

Page 19: Involving Testing Students in Software ProjectsCS536 Intro to Software Engineering (SE) – Grad/Undergrad CS790 Software Testing and Quality Assurance – Grad, w/CS536 Pre-req. CS536

WTST 2003 19

Page 20: Involving Testing Students in Software ProjectsCS536 Intro to Software Engineering (SE) – Grad/Undergrad CS790 Software Testing and Quality Assurance – Grad, w/CS536 Pre-req. CS536

WTST 2003 20

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

Page 21: Involving Testing Students in Software ProjectsCS536 Intro to Software Engineering (SE) – Grad/Undergrad CS790 Software Testing and Quality Assurance – Grad, w/CS536 Pre-req. CS536

WTST 2003 21

Thank you!

Pat Schroeder

University of Wisconsin Milwaukee

[email protected]