ITSE421 : Software Quality Assurance and Testing

Department

Department of Software Engineering

Academic Program

Bachelor in Software Engineering

Type

Compulsory

Credits

03

Prerequisite

ITSE321

Overview

This course shows how to define software quality and how it is assessed through various testing techniques it is intended to acquaint the students with principles, techniques and best practices of software quality assurance concentrating on software testing and verification It will cover functional testing, structural testing, regression testing, test automation, specification based testing, code review.

Intended learning outcomes

Knowledge &understand 

  • To familiarize the student with the quality of software and its factors
  • To familiarize the student with the components of software quality assurance
  • To familiarize the student with planning for quality control and its standards
  • To familiarize the student with the methods and types of software testing
  • To familiarize the student with the principles of test-driven development

mental skills

  • That the student distinguish quality factors from software functions
  • That the student links between quality factors and ways to ensure their quality
  • The student analyzes the software under development
  • The student should suggest priorities for testing software under development

Practical & professional skills

  • The student should specify the quality factors to be tested
  • To use the components of quality assurance in the right ways
  • To use the test plan templates to be conducted
  • The student writes the necessary tests to test the parts of the software under development
  • Use frameworks used for software testing

General and transferable skills

  • Editorial communication by writing reports
  • Oral communication through participation in lectures and oral presentations
  • Use IT tools to solve problems
  • Work in a team to participate in quarterly discussions
  • Commitment to performing exams and handing in assignments on time

Teaching and learning methods

  • Lectures
  • Tutorials
  • Assignments
  • Presentations

Methods of assessments

  • Midterm exam I = 20
  • Midterm exam II = 20
  • Assignments = 10
  • Final exam = 50

Course contents

  • An introduction
  • Quality Factors
  • Software Quality Assurance Systems
  • Before Starting The Project
  • During the Software Life Cycle
  • Reviews
  • Unit Test 1
  • Unit Test 2
  • Action Plans
  • Document Control
  • Follow up cost
  • Capability Maturity Model 1
  • Capability Maturity Model 2
  • Individual Quality

Networks Programming (ITSE405)
Mobile Applications Development (ITSE304)
Cryptographic Algorithms and Protocols (ITSE306)
Information Retrieval Systems (ITSE307)
Mobile Operating System (ITSE308)
Programming Paradigms (ITSE309)
Principles of Games Developments (ITSE401)
Multimedia Systems (ITSE404)
Cloud Computing (ITSE406)
Web Services (ITSE407)
Web Applications Development (ITSE408)
Modelling of Complex Systems (ITSE303)
Data Mining/Business Intelligence (ITSE302)
Social Networking (ITSE409)
Logic Programming (ITSE301)
Mathematics I (ITMM111)
Physics (ITPH111)
Problem solving Technic (ITGS113)
Intro to Information Technology (ITGS111)
General English1 (ITEL111)
Arabic language 1 (ITAR111)
Mathematics II (ITMM122)
Arabic language 2 (ITAR122)
General English2 (ITEL122)
Introduction to Programming (ITGS122)
System Analysis and Design (ITGS124)
logic Circuit Design (ITGS126)
Introduction to Networking (ITGS215)
Introduction to Statistics (ITST211)
Object Oriented Programmin (ITGS211)
Introduction to Software Engineering (ITGS213)
Discrete Structures (ITGS217)
Numerical analysis (ITGS219)
Introduction to Databases (ITGS228)
Data Structure (ITGS220)
Foundation of Information Systems (ITGS222)
Introduction to Internet Programming (ITGS226)
Computer Architucture & Organization (ITGS223)
Information Security (ITGS224)
Design and Analysis algorithms (ITGS301)
IT Project Management (ITGS303)
Software Requirements Analysis (ITSE311)
Advanced Databases (ITSE312)
Scientific Writing (ITGS304)
Modern Programming Language (ITSE322)
Software Construction (ITSE321)
Operating System (ITGS302)
Software Design and Architecture (ITSE411)
Advanced Internet Programming (ITSE412)
Human Computer Interaction (ITSE413)
Software Engineering Ethics (ITSE414)
Software Quality Assurance and Testing (ITSE421)
Software Reuse and Component-Based Software Engineering (CBSE) (ITSE422)
Visual Programing (ITSE423)
software design models (ITSE424)