ADAMA SCIENCE AND TECHNOLOGY UNIVERSITY
1 SCHOOL: School of Electrical Engineering and Computing DEPARTMENT: Software Engineering
2 Course Category: Major Mandatory
Course Title: Software Testing and Quality Assurance
Course Code: SEng4201
3
This course gives fundamental concepts of software testing on a new software development through software quality assurance methods and principles in order to produce reliable
Synopsis: , cost effective and scalable software product that meet users need and organizational standards
4 Academic Staff: Dr.Nune Sreenivas and Arefat Hyeredin
5 Semester and Year offered: Semester: I (One) Year: IV (Fourth)
6 Credit Hour: 3 Lect: 2 Lab: 0 Tutor: 0
7 Prerequisite / Co-requisite: (if SEng2206 - Fundamentals of Software Engineering
any) SEng3204 - Software Architecture and Design
8 Course Learning Outcome (CLO): At the end of the course the student will be able to:
CLO-1 Describe the fundamental concepts of software testing and quality assurance.
CLO-2 Discuss software testing design and planning techniques
CLO-3 Differentiate between various types of testing and select appropriate testing tools.
CLO-4 Describe the testing process and create comprehensive test reports.
CLO-5 Identify and evaluate software quality characteristics and metrics.
CLO-6 Discuss professional ethics and current trends in software testing.
CLO-7 Evaluate software quality based on industry-standard software quality metrics.
9 Mapping of Course Learning Outcomes (CLOs) to the Student Learning Outcomes (Sos), Teaching Methods and Assessment
Student Learning Outcomes (SOs) Teaching Methods Assessment
Assignment
Final Exam
Outcomes
Mid Exam
Learning
Project
Course
(CLOs)
SO-1
SO-2
SO-3
SO-4
SO-5
SO-6
SO-7
SO-8
SO-9
Quiz
PBL
Lab
Lec
GD
CLO-1 √ √ √ √ √
CLO-2 √ √ √ √ √
CLO-3 √ √ √ √ √
CLO-4 √ √ √ √ √ √ √
CLO-5 √ √ √ √
CLO-6 √ √ √ √ √ √
CLO-7 √ √ √ √
Indicate the relevancy between the CLO and PO by ticking “√”on the appropriate relevant box
10 Transferable Skills (if applicable)
(Skills learned in the course of study which can be useful and utilized in other settings)
1 Automated Testing Frameworks: Gaining proficiency in widely-used tools like Selenium and Junit
2 Testing in Agile Environments: Experience in real-world scenarios such as continuous integration (CI) and test automation pipelines.
3 Open-Source Testing Tools: Mastering free tools like Cucumber for behavior-driven development (BDD) testing
4 Security, Performance and Penetration Testing: Hands-on skills in identifying vulnerabilities and performance bottlenecks
11 Distribution of Student Learning Time (SLT)
Guided Learning (F2F)
Guided Learning (NF2F) Independent Learning (NF2F) Total (SLT)
Course Content Outline CLO L T P O
1. Chapter One: Introduction to Software Testing 6 2 2 4 14
1.1. What is Software Testing?
1.2. Importance and Purpose of Testing
1.3. Test Cases and Measurments for Testing 1
1.4. Software Testing Life Cycle (STLC)
1.5. Principles of Software Testing
1.6. Common Terminologies in Software Testing
2. Chapter 2: Software Testing Techniques and Types 4 4 2 2 12
2.1 Unit Testing
2.2 Integration Testing
2.3 Functional Testing
3
2.4 Acceptance Testing
3
2.5 System Testing
2.6 Automated Testing
2.7 Other Testing Types: Data-Flow, Model-Based, Fault-Based
3. Chapter 3: Test Management: Design and Execution 6 2 4 4 16
3.1 Test Planning & Strategy
3.2 Test Case Design
3.3 Test Data and Environment 2,4
3.4 Test Documenting & Reporting
3.5 Risk & Analysis Plan
3.6 Roles within Test Team
4. Chapter 4: Tools and Technologies for Software Testing 6 4 4 2 16
4.1 Automated Testing Tools
4.2 Performance and Load Testing Tools
3
4.3 Test Management Tools
4.4 Tool Selection
4.5 Limitations and Best Practices
5. Chapter 5: Software Quality Assurance 4 4 4 12
5.1 Software Quality Metrics
5.2. Software Quality Characteristics 5,6
5.3 Software Quality Standards
5.4 Professional and Ethical Responsibilities in Testing
6. Chapter 6: Current Trends in Software Testing 4 2 4 4 14
6.1. DevOps and CI/CD pipelines
6.2. Testing in Agile Environments
6,7
6.3. Autonomous Testing: Predictive, AI-Based
6.4. Cybersecurity Testing: Penetration Testing
6.5. Testing as a Service
13 Assessment
Continuous Assessment Percentage Total (50%) F2F NF2F SLT
Quiz 5 1 2 3
Assignment 10 2 4 6
Mid Exam 20 2 4 6
Project 15 4 6 10
Final Exam Percentage Total (50%) F2F NF2F SLT
Final Exam 50 3 8 11
Grand Total SLT 120
L = Lecture, T = Tutorial, PBL = Problem based learning, GD = Group Discussion, F2F = Face to Face, NF2F = Non Face to Face
Note: indicates the CLO based on the CLO’s numbering in item 9.
14 Special requirements and resources to deliver the course 1 Computer Lab: High-speed internet connectivity
2 Testing Tools: Selenium, Junit, LoadRunner,
3 Monitoring and Reporting Tools: Jenkins
15 Text book and reference: 1 Software Testing: Concepts and Operations. Ali Mili, Fairouz Tchier ISBN: 978-1-118-66287-8. July 2015
(note: ensure the latest edition /publication) 2 Software Testing and Quality Assurance: Theory and Practice. Kshirasagar Naik, Priyadarshi Tripathy. ISBN: 978-1-118-21163-2.
3 Software Testing and Analysis: Process, Principles and Techniques. Michal Young and Mauro Pezze. 2005. John Wiley & Sons, Inc.
4 How Google Tests Software. James A. Whittaker, Jason Arbon, and Jeff Carollo. 2012.Addison-Wesley Professional.