COMP06242 2018 Software Quality and Testing

General Details

Full Title
Software Quality and Testing
Transcript Title
Software Quality and Testing
Code
COMP06242
Attendance
N/A %
Subject Area
COMP - 0613 Computer Science
Department
COEL - Computing & Electronic Eng
Level
06 - Level 6
Credit
05 - 05 Credits
Duration
Semester
Fee
Start Term
2018 - Full Academic Year 2018-19
End Term
9999 - The End of Time
Author(s)
Therese Hume, John Weir, Vivion Kinsella
Programme Membership
SG_KSODV_H08 201800 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 201800 Bachelor of Science (Honours) in Computing SG_KGAME_C06 201800 Higher Certificate in Science in Games Development SG_KGADV_B07 201800 Bachelor of Science in Computing in Games Development SG_KSODV_B07 201800 Bachelor of Science in Computing in Software Development SG_KSODV_C06 201800 Higher Certificate in Science in Software Development SG_KCMPU_C06 201800 Higher Certificate in Science in Computing in Computing SG_KCMPU_B07 201800 Bachelor of Science in Computing in Computing SG_KSODV_H08 201900 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 201900 Bachelor of Science (Honours) in Computing SG_KCMPU_C06 201900 Higher Certificate in Science in Computing in Computing SG_KCMPU_B07 201900 Bachelor of Science in Computing in Computing SG_KSODV_B07 201900 Bachelor of Science in Computing in Software Development SG_KCMPU_H08 202000 Bachelor of Science (Honours) in Computing SG_KSODV_H08 202000 Bachelor of Science (Honours) in Computing in Software Development SG_KGADV_B07 202100 Bachelor of Science in Computing in Games Development SG_KSODV_B07 202100 Bachelor of Science in Computing in Software Development SG_KSODV_H08 202100 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 202100 Bachelor of Science (Honours) in Computing SG_KCMPU_C06 202100 Higher Certificate in Science in Computing SG_KCMPU_B07 202100 Bachelor of Science in Computing SG_KSODV_H08 202200 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 202200 Bachelor of Science (Honours) in Computing SG_KSODV_H08 202400 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 202400 Bachelor of Science (Honours) in Computing
Description

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;

1.

Explain the fundamentals of software quality & testing

2.

Classify and make use of different  static testing techniques

3.

Categorise and make use of different dynamic testing techniques

4.

Demonstrate a knowledge of test manangement

5.

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 & Continuous Assessment
30 %
End of Semester / Year Formal Exam
70 %

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
Total Full Time Average Weekly Learner Contact Time 3.00 Hours

Module Resources

Non ISBN Literary 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

URL Resources

Course moodle page will provide links to interesting websites, articles, videos, slides, lab sheets, quizzes etc

https://www.istqb.org/

http://www.softwaretestinghelp.com/

Other Resources

Automation software, e.g. Selenium, Nunit, Fitnesse, Mockaroo etc.

Additional Information

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.