Software Quality Assurance and Testing

Spring 2022

This course is designed to give an understanding of the key concepts and principles in creating and managing successful software testing to meet specific requirements using best practices of software quality assurance. Topics covered include software quality assurance, testing process, test design & coverage techniques and testing strategy. Best practice strategies in object-oriented software testing and web application are also discussed. An overview of test automation methods and tools is also covered.

Prerequisites. SE 322.

 

News  

  • 16/1/2022: The website is up!


Lectures:
 S M T W
 9:00 - 09:50am

Instructor:
 Mamdouh Alenezi
 malenezi@psu.edu.sa
 Office Hours:
   M T TH 10-11 am
 (Email me for an appointment)

Learning Outcomes  

This course has six learning outcomes:

  • CLO 1: Recognize software quality assurance and testing as an essential element in software development life cycle
  • CLO 2: Describe the phases of software quality assurance and testing
  • CLO 3: Develop test plans, identify test conditions and design test cases
  • CLO 4: Apply a wide variety of testing techniques at various testing levels
  • CLO 5: Compute various metrics from the testing data and interpret them to identify problems in software testing
  • CLO 6: Adequately test a medium software project in a group setting

Assessment  

This course involves occasional assignments, activities and a semester-long project. The assignments and activities offers a chance for students to reinforce understanding of material from class. The project has small student groups testing an open-source software and applying techniques and tools learned in class to that software.

Final course grades will be based on the following.

Activity Grade Details
Assignments 5%
  • There will be 6 homework assignments.
  • All assignments are indvidual.
  • Homework must be submitted by the due date.
Activities 20%
  • There will be 10 activities.
  • All activities are indvidual.
  • Activities must be submitted by the due date.
  • Activities are practical aspects of the course that ensure applying the theoretical aspects of the course.
Midterm 20%
  • There will be 1 Midterm.
  • The Midterm will be on Week 8.
  • The Midterm will cover the materials finished by Week 7.
Course Project 15%
  • Students will work in groups to complete the course project.
  • We will discuss group sizes and possible projects in class early in the semester.
  • The project is going to done on phases.
  • Project phases reports must be submitted by the due date.
  • The final submission should be a comprehsnice report that includes all phases.
  • Project grade will be based on the work done and on the quality of the submitted reports:
    • Phase One – Test Plan [5%]
    • Phase Two - Test Cases [5%]
    • Phase Three - Test Execution [5%]
Final Exam 40% The Final Exam is a comprehensive exam covering the first 5 CLOs.

 

Tentative Schedule  


Chapter Topic Notes Assignments/Activities/Templates
1
Introduction
Introduction Why software testing?
Error, Fault and Failure
Verification and Validation
When is enough testing?
Assignment 1.1

2
Software Quality
Software Quality
Assignment 2.1

3
Testing throughout the SDLC
Testing throughout the SDLC
Assignment 3.1

4
Static Testing
Static Testing
Activity 4.1-SpotBugs Assignment 4.1

5
Test Management
Test Management
Detail Test Plan
IEEE Standard 829-2008
Sample_Test_Plan
TestPlanTemplate
Activity 5.1-Test Plan and Specification

6
Unit Testing and Junit
Test Cases
Unit Testing and JUnit
Introduction to JUnit
JUnit1
Junit and Eclipse
Activity 6.1-Unit Testing Activity 6.2-JUnit and Coverage Testing
7
Test Design Techniques
Test Design Techniques
Structural Testing
Specification-Based Testing
The category-partition method
Decision Tables
Structural Testing
MC/DC coverage
Black Box Test Data Generation Techniques
Structural Testing Exercises
MCDC Detailed Example
Assignment 7.1
Assignment 7.2
Activity 7.1-Black Box Testing Activity 7.2-Equivalence class and boundary value Activity 7.3-White Box Testing Activity 7.4-Complexity analysis and visualization
8
Integration, System and Regression Testing
Integration Testing
System Testing
Regression Testing
Unit and System Tests: The different test levels
What is integration testing?
The Testing pyramid
Assignment 8.1

9
Testing Metrics and Tools
Testing Metrics and Tools
Code Coverage
Activity 9.1-Code Coverage Analysis
10
Advanced Topics
Advanced Topics
Activity 10.1-Web Testing APPIUM Tutorial for Android
 

Course Resources  

Course Administration

  • Announcements will be posted on this web page and LMS. Check the news section regularly for updates.
  • We are using both this website and Moodle (LMS).

Textbook

There is no required textbook for this course. However, students who wish to read more about the topics that we discuss in class may consult the folowing textbooks:

Sources

Project

This word file SE401_Project has all the details about the course project.
 

General Resources  

Academic Integrity

Students are expected to know and abide by PSU's policies on academic integrity. Academic integrity violations will be prosecuted aggressively. If you are not sure what constitutes an academic integrity violation, please ask.