Experience with Teaching Software Quality Assurance

advertisement
Experience with
Teaching Software
Quality Assurance
Dušanka Bošković
Computing and Informatics
Bachelor Programme
Faculty of Electrical Engineering
Sarajevo, 2007/08
Background







Computing and Informatics
Bachelor Degree, 6th semester
Elective, counterpart to Software Engineering
4 ECTS, 30 hours lectures + 15 hours labs
The very first ‘Bologna’ generation
45 students
Reliability and software quality control
8th Workshop “Software Engineering Education and Reverse Engineering”
Durres, Albania, 8 – 13 September 2008
Organisation





7 week lectures + 1 week midterm exam 1
7 week lectures + 1 week midterm exam 2
5 assignments
Oral exam
Grade:





Attendance 10%
Assignment 10%
Midterm exams 20% + 20%
Oral 40%
Make-up exam
8th Workshop “Software Engineering Education and Reverse Engineering”
Durres, Albania, 8 – 13 September 2008
Topics








SQA Fundamentals and Organisation
Standards ISO 9001:2004
Software Quality Models
Software Quality Control Techniques – Inspections
and Reviews
Software Metrics
Verification and Validation
SQA Plan
Cost Estimation
8th Workshop “Software Engineering Education and Reverse Engineering”
Durres, Albania, 8 – 13 September 2008
Text Book

Reference texts:



Excellent case studies and very systematic



Schulmeyer, Mcmanus, The Handbook of Software Quality
Assurance
Mostly theoretical, comprehensive
Galin, Software Quality Assurance : From Theory to
Implementation,
Very useful and concise: Pressman!!!
Additional references needed for: Metrics, Testing,
Standards – ISO, CMMI
8th Workshop “Software Engineering Education and Reverse Engineering”
Durres, Albania, 8 – 13 September 2008
Challenges

Topics not highly rated or relevant to ‘real
programming’




Dynamic and interactive lectures,
Real world examples – courses, certification,
consultancy
Emphasizing soft skills
Requires non-trivial case study



Open source
In house software
Coupling with the SE or other similar course
8th Workshop “Software Engineering Education and Reverse Engineering”
Durres, Albania, 8 – 13 September 2008
Laboratory exercises


Communication skills exercise
Presentation skills


Code Inspections


Case study – Mortgage Calculator
White Box testing


Case study - Mortgage Calculator
Metrics - LOC, SLOC, NCLC


Software LC process modelling using flow diagrams
Case study – Mortgage Calculator
Black Box testing

Case study – ZAMGER – (app for student progression and
success rates reporting)
8th Workshop “Software Engineering Education and Reverse Engineering”
Durres, Albania, 8 – 13 September 2008
Assignment 1

Modelling software LC as a business process






Agile,
Rapid Prototyping,
Waterfall,
Spiral.
8 teams of 5-6 students
.ppt presentations, questions, comments,
discussions
8th Workshop “Software Engineering Education and Reverse Engineering”
Durres, Albania, 8 – 13 September 2008
Assignment 2



Software Quality Model ISO 9126 – Case
study Moodle open source CMS
12 teams of 2-5 students – same teams as
for the SE course
Each team writing a paper about one
characteristics, but each student within a
team describes different sub-characteristics
8th Workshop “Software Engineering Education and Reverse Engineering”
Durres, Albania, 8 – 13 September 2008
Assignments 3 and 4

Reports on lab excersizes:





Inspections Report - Mortgage Calculator
Metrics Results - Mortgage Calculator
White box testing plan and report – Mortgage
Calculator
Black box testing plan and report – ZAMGER Zadacha Manager
12 teams
8th Workshop “Software Engineering Education and Reverse Engineering”
Durres, Albania, 8 – 13 September 2008
Assignment 5



Software Quality Assurance Plan
Individual assignment
Framework for oral exam
8th Workshop “Software Engineering Education and Reverse Engineering”
Durres, Albania, 8 – 13 September 2008
Exam



6-8 open questions: list, define, describe, associate, categorize
5-6 multiple choice questions
2 questions to calculate, illustrate or apply technique:






Draw diagrams for a set of data(Pareto),
Model with process flow diagram or vice versa
Draw graph for a segment of code and calculate metrics
Define tests values for boundary or domain equivalence ...
Questions reflecting issues from the assignments and the labs
Success rates: 42 (out of 45) passed exam in the first term, 2
students passed in July, 1 student in September
8th Workshop “Software Engineering Education and Reverse Engineering”
Durres, Albania, 8 – 13 September 2008
Exam
- Distribution of the exam results
20
18
16
14
12
10
8
6
4
2
0
7
8
9
10
8th Workshop “Software Engineering Education and Reverse Engineering”
Durres, Albania, 8 – 13 September 2008
Conclusion




Motivating if interactive, addressing soft skills
important
Students like challenges (good students) but
needs good managment
Coupling with SE imperative – apart from
compliance issues, makes real project
assignments feasible
Separate course for testing techniques?
8th Workshop “Software Engineering Education and Reverse Engineering”
Durres, Albania, 8 – 13 September 2008


Thank you for your attention!
Questions are welcomed!
8th Workshop “Software Engineering Education and Reverse Engineering”
Durres, Albania, 8 – 13 September 2008
Download