Software Quality Assurance Lecture 1 Introduction
Introduction Course Title: Software Quality Assurance Course Code: MCS Credit Hours: 3 Section: 1
Course Instructor Sabbir Muhammad Saleh B.Sc. In Computer Science American International University- Bangladesh M.Sc. In Computer Science [Software Engineering] American International University- Bangladesh Office: Building# 01, University of South Asia Email: sabbir@southasia-uni.org Cell #: 01785-547626 [better to email, or add me on whatsApp]
Course Objectives After the completion of the course, the students will be able to understand- Various approaches, techniques, technologies, and methodologies used in software quality assurance and testing. The quality assurance process and its role in software development. A variety of testing techniques, methods, and tools used in real life. The impact of ISO 9126 and the capability maturity model Integration (CMMI) on software quality and testing. How to develop Test Plan, how to design Test Cases and execute them, preparing bug-report and test summary report Different types of software testing tools
Course Prerequisite Software Engineering – A Practitioners Approach by Roger S. Pressman A solid understanding of the SDLC (Software Development Life Cycle) Software process activities Generic activities Umbrella activities
Mid Term Weeks Week 1: Class Week 2: Class + Quiz 1 + Project 1 Week 6: Mid Term Exam
Final Term Weeks Week 7 : Class Week 8 : Class + Quiz 3+ Project 2 Week 12 : Final Exam
Grading Policy Class Attendance : 10% Quizzes( Best one X 2) : 10% Project : 10% Term Exam : 70% Term Total = 30% of Midterm + 40% of Final Exam
Cheating Policy (Official Rule) You’ll get an F in the course
Course Requirements Must have at least 75% attendance to pass this course. Failure to do so will result in an automatic UW. Must appear in the midterm and final exams. Must submit a specified term project. No late submission of assignments/projects. No make-up Quiz . No request will be entertained for Grade.
Text/Reference Books & Study Materials Software Quality Engineering: Testing, Quality Assurance and Quantifiable Improvement, by Jeff Tian, published by Wiley, ISBN 0-471-71345-7, is the required text. Software Testing and Quality Assurance: Theory and Practice, by Kshirasagar Naik, Priyadarshi Tripathy Lecture notes will be posted at the course website on a regular basis. Additional handouts/photocopies will be provided by the Instructor if necessary.
What is Software? What is Software? More than computer programs Computer programs, procedures, and possibly associated documentation and data pertaining to the operation of a computer system. Two major types of Software: Generic –Stand alone, sold on open market Customized –For specific customer
What is Software Quality? Software Quality (as per ISO/ IEC 9126): The totality of functionality and features of a software product that contribute to its ability to satisfy stated or implied needs. Software Quality (as IEEE Std 610): The degree to which a component, system or process meets specified requirements and/or user/customer needs and expectations.
What is Software Quality? According to ISO 9126, software quality consists of: Functionality Reliability Usability Efficiency Maintainability Portability
Introduction What’s the main challenges of software development now-a-days? High Cost Difficult to deliver on Time Low Quality
Introduction What is Software Quality Assurance? What is Software Testing? What are the differences between them?
Introduction Software Quality Assurance (SQA): Defined as a planned and systematic approach to the evaluation of the quality of and adherence to software product standards, processes, and procedures. An umbrella activity that is applied throughout the software process. Consists of a means of monitoring the software engineering processes and methods used to ensure quality. An effective approach to produce high quality software.
Introduction Software Testing: Software Testing is the process of executing a system or component under specified conditions with the intent of finding defects/bugs and to verify that it satisfies specified requirements. Main goal ==> To detect bugs Have different levels Static testing vs. Dynamic testing Manual testing vs. Automated testing
QA vs. Testing Software Testing Software Quality Assurance Process-oriented activity Oriented to bug prevention Product-oriented activity Oriented to bug detection
Introduction What is the COST of a bug?
Introduction Failure Example 01 Flight Ariane 5 (Most Expensive Computer Bug in History) On June 4, 1996, the rocket Ariane 5 tore itself apart 37 seconds after launch because of a malfunction in the control software making the fault most expensive computer bug in history. ==> mission critical issue
Introduction Failure Example 02 Lethal X-Rays :Therac-25 system Therac-25 was a radiation therapy machine produced by Atomic Energy of Canada Limited (AECL) in 1986. But initially lot of people died because of massive overdose of radiation. And this is happen because of a software bug. ==> safety critical issue
Introduction Why do we need to study this course? What are the outcomes of this course?
Summary Thanks a lot for your attention. Any questions??!!?
Welcome to the course Software Quality Assurance