COMP06242 2018 Software Quality and Testing
This module provides an in-depth understanding of what constitutes quality software and the critical role of rigorous testing in achieving it. Students will gain essential knowledge in software quality and the core concepts of software testing. Through both theoretical and practical learning, the course equips students to effectively contribute to a quality assurance role within a software development team, ensuring high standards in software delivery.
Learning Outcomes
On completion of this module the learner will/should be able to;
Explain the fundamentals of software quality & testing
Classify and make use of different static testing techniques
Categorise and make use of different dynamic testing techniques
Demonstrate a knowledge of test manangement
Evaluate and make use of tool support for testing
Teaching and Learning Strategies
Will employ direct istruction, activity based, problem based and thinking based in class learning coupled with independent learning.
Module Assessment Strategies
Assessment will consist of both summative and formative continuous assessment and an end of year exam.
1 moodle quiz week 6 (15%).
1 practical exercise week 11 (15%).
Repeat Assessments
Repeat exam and CA will be offered.
Indicative Syllabus
Explain the fundamentals of software quality & testing
- Introduction to quality and quality management,software quality definitions.
- Challenges in delivering quality software, industry review , causes of poor quality, the cost of poor quality.
- The need for a quality philsophy - managing technical debt
- The components of the software quality assurance system.
- What is testing, Why is testing necessary,testing principles,fundamental testing process.
- Defect lifecycle.
- The psychology of testing.
- Functional and non-functional testing.
- Testing throughout the software lifecycle, regression testing.
- The differences between testing in traditional and agile teams, levels of testing, agile testing quadrants
Classify and make use of static testing techniques
- Static techniques (informal reviews, walkththroughs, pairwise programming, static analysis etc).
- Formal Review Process.
- Static analysis by tools.
Classify and make use of dynamic testing techniques
- The test development process.
- Categories of test design techniques.
- Black-box testing (EP,BVA,Decision tables).
- White box testing (statement, branch, condition,path).
- Experience-based testing.
Demonstrate a knowledge of Test Management
- Test strategy/planning and estimation.
- Test exit criteria
- Test progress monitoring and control.
- Incident management/defect tracking.
- Metrics (coverage, cyclomatic complexity, defect metrics etc)
Classify and make use of tool support for testing.
- Types of testing tools.
- The automation pyramid
- Potential benefits and risks.
- Static analysis tools.
- Test execution tools (e.g. Unit Testing, Fitnesse, Selenium,Mockaroo)
- Test Management tools (e.g Bugzilla, Jenkins)
- Test Driven Development (TDD)
Coursework & Assessment Breakdown
Coursework Assessment
Title | Type | Form | Percent | Week | Learning Outcomes Assessed | |
---|---|---|---|---|---|---|
1 | Continuous Assessment | Coursework Assessment | Assessment | 30 % | OnGoing | 1,2,3,4,5 |
End of Semester / Year Assessment
Title | Type | Form | Percent | Week | Learning Outcomes Assessed | |
---|---|---|---|---|---|---|
1 | Final Exam | Final Exam | Closed Book Exam | 70 % | End of Semester | 1,2,3,4,5 |
Full Time Mode Workload
Type | Location | Description | Hours | Frequency | Avg Workload |
---|---|---|---|---|---|
Lecture | Lecture Theatre | Direct Instruction | 1 | Weekly | 1.00 |
Workshop / Seminar | Not Specified | Activity based | 2 | Weekly | 2.00 |
Independent Learning | Not Specified | Independent Learning | 4 | Weekly | 4.00 |
Module Resources
Rex Black, Erik Van Veenendaal, Dorothy Graham (2012), Foundations of Software Testing - ISTQB® Certification, 3rd ed., Cengage Learning
Andreas Spillner, Tilo Linz and Hans Schaefer (2014), Software Testing Foundations: A Study Guide for the Certified Tester Exam, 4th ed., Rocky Nook
Bernard Homès (2013), Fundamentals of Software Testing, ISTE Ltd and John Wiley & Sons Inc
Rex Black, Marie Walsh, Gerry Coleman, Bertrand Cornanguer, Istvan Forgacs, Kari Kakkonen, Jan Sabak (2017), Agile Testing Foundations: An ISTQB Foundation Level Agile Tester guide, BCS, The Chartered Institute for IT, July 2017
Agile Testing: A Practical Guide for Testers and Agile Teams, Janet Gregory, 2011
Selenium Simplified, Compendium Developments, 2012
Course moodle page will provide links to interesting websites, articles, videos, slides, lab sheets, quizzes etc
https://www.istqb.org/
http://www.softwaretestinghelp.com/
Automation software, e.g. Selenium, Nunit, Fitnesse, Mockaroo etc.
This module will provide the student with a domain of knowledge which will enable them to attempt the ITSQB Foundation Level Certified Tester examination and much of the ITSQB Foundation Level Certified Agile Tester examination.