150 likes | 286 Views
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
E N D
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: • Schulmeyer, Mcmanus, The Handbook of Software Quality Assurance • Mostly theoretical, comprehensive • Excellent case studies and very systematic • 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 • Software LC process modelling using flow diagrams • Code Inspections • Case study - Mortgage Calculator • Metrics - LOC, SLOC, NCLC • Case study – Mortgage Calculator • White Box testing • 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 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