0% found this document useful (0 votes)
37 views33 pages

Intro To Se Week4

The document outlines the importance of Software Quality Assurance (SQA) in ensuring software meets quality standards, highlighting sources of failures such as poor communication and version incompatibility. It details the approval process before deployment, including requirement validation, code reviews, and various testing stages. Additionally, it discusses common SQA tools and presents a case study on a Ramadan Companion App, emphasizing its features and the necessity of rigorous testing.

Uploaded by

aamirriyyan9
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views33 pages

Intro To Se Week4

The document outlines the importance of Software Quality Assurance (SQA) in ensuring software meets quality standards, highlighting sources of failures such as poor communication and version incompatibility. It details the approval process before deployment, including requirement validation, code reviews, and various testing stages. Additionally, it discusses common SQA tools and presents a case study on a Ramadan Companion App, emphasizing its features and the necessity of rigorous testing.

Uploaded by

aamirriyyan9
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 33

Software Quality Assurance &

Process

Training Team

Mr. Abdul Saboor Sheikh


Mr. Hurrair
IT Mustakbil Training Program
Agenda

• Discuss sources of failures, such as


in terms of poor communication
between teams, virtual
environment and dependencies
version incompatibility.

• Describe approval process before


final deployment.

• Describe and explain functions and


roles in unit testing, integration
testing and system testing.

• Discuss common tools used in SQA.


IT Mustakbil Training Program 2
What is a SQA ?

IT Mustakbil Training Program


Introduction

• Software Quality Assurance (SQA) ensures that software products


meet defined quality standards before deployment.

• It involves systematic monitoring, evaluation, and improvement of


software processes.

• A well-defined SQA process leads to better reliability, maintainability,


and security.

• Real-World Example: NASA’s Mars Climate Orbiter failed due to a


metric-imperial unit conversion issue, highlighting the importance of
rigorous SQA in mission-critical systems.

IT Mustakbil Training Program 4


Case: NASA’s Mars Climate Orbiter Failure (1999)

What Happened?

• NASA’s spacecraft crashed into Mars because one engineering team used metric units,
while another used imperial units.

Impact:

• The $125 million mission failed because of a simple miscommunication.

Root Cause:

• Lack of a unified communication process between teams using different measurement


standards.

• No verification step to ensure system compatibility.

IT Mustakbil Training Program 5


Sources of Failures

IT Mustakbil Training Program


Case: Knight Capital’s $440 Million Trading Loss (2012)

What Happened?
Knight Capital, a major financial services firm, deployed a new software update to its
high-frequency trading system. However, due to miscommunication between teams, a
crucial part of the old code was left running.

Impact:

• The system started making unintended trades, causing Knight Capital to lose $440
million in 45 minutes.

• The company had to be acquired to survive.

Root Cause:

• Poor internal communication between the deployment team and the development
team.

• Lack of proper deployment validation processes.


IT Mustakbil Training Program 7
Sources of Failures in Software Development

• Poor Communication Between Teams


• Challenges in Virtual Environments
• Dependency & Version Incompatibility

IT Mustakbil Training Program 8


Poor Communication between teams

Causes:

•Misinterpretation of requirements between business analysts,


developers, and testers.

•Lack of proper documentation and unclear objectives.

•Differences in expectations between teams.

IT Mustakbil Training Program 9


Poor Communication between teams

Solution:

•Use Agile & Scrum methodologies to ensure constant


communication.

•Collaboration tools like Slack, Jira, and Microsoft Teams.

•Regular meetings (Daily Stand-ups, Sprint Reviews) to align


teams.

IT Mustakbil Training Program 10


Challenges in virtual Environment

Causes:

•Distributed teams in different time zones leading to delays.

•Lack of face-to-face communication affects collaboration.

•Difficulty in testing software under different real-world


environments (OS, network, hardware).

IT Mustakbil Training Program 11


Challenges in virtual Environment

•Boeing 737 Max Software Failure (2019): Remote teams working


on the aircraft’s MCAS (Maneuvering Characteristics
Augmentation System) had incomplete information.

•Software defects led to two fatal crashes due to incorrect flight


stabilization logic.

•Lesson: Virtual teams must have access to a centralized repository of


documentation and test environments.

IT Mustakbil Training Program 12


Challenges in virtual Environment

Solution:

•Use cloud-based testing platforms like BrowserStack, Sauce


Labs.

•Adopt virtual collaboration tools like Confluence, Microsoft Teams.

•Implement remote pair programming for better code reviews.

IT Mustakbil Training Program 13


Dependency & Version Incompatibility

Causes:

•Using outdated or incompatible libraries in the software.

•External API changes breaking existing functionality.

•Lack of proper version control for dependencies.

IT Mustakbil Training Program 14


Dependency & Version Incompatibility

•Uber App Failure (2018):

•A critical third-party API update broke Uber’s payment gateway,


causing massive downtime.

•Lesson: Regular dependency updates, backward compatibility testing,


and proper dependency management prevent such failures.

IT Mustakbil Training Program 15


Dependency & Version Incompatibility

Solution:

•Use Dependency Management Tools:

• Maven, Gradle (Java)

• NPM, Yarn (JavaScript)

• pip (Python)

•Implement Version Control with Containers:

• Docker, Kubernetes to ensure consistent environments.

IT Mustakbil Training Program 16


Approval Process
Before Final
Deployment

IT Mustakbil Training Program


Approval Process Before Final Deployment
Standard Approval Process

Before deploying software to production, it must go through:

1.Requirement Validation

1. Ensure that business and technical teams have agreed on the scope.

2. Example: Tesla verifies firmware updates across different car models


before pushing OTA (Over-the-Air) updates.

2.Code Review

1. Peer review by developers to check for coding standards & security issues.

2. Example: Google uses Gerrit for code reviews to maintain high coding
standards in Android and Search projects.
IT Mustakbil Training Program 18
Approval Process Before Final Deployment
Standard Approval Process

Before deploying software to production, it must go through:

1. Requirement Validation

1. Ensure that business and technical teams have agreed on the scope.

2. Example: Tesla verifies firmware updates across different car models


before pushing OTA (Over-the-Air) updates.

2. Code Review

1. Peer review by developers to check for coding standards & security issues.

2. Example: Google uses Gerrit for code reviews to maintain high coding
standards in Android and Search projects.
IT Mustakbil Training Program 19
Approval Process Before Final Deployment
Before deploying software to production, it must go through:

3. Testing Stages

1. Unit Testing → Integration Testing → System Testing → User Acceptance


Testing (UAT).

2. Example: Microsoft’s Windows Update testing in sandbox environments


before rollout.

4. Security & Compliance Checks

3. Penetration Testing, GDPR, ISO 27001 compliance for security-critical


applications.

4. Example: Financial apps like PayPal undergo strict PCI DSS audits before
deployment.
IT Mustakbil Training Program 20
Approval Process Before Final Deployment
Before deploying software to production, it must go through:

5. User Acceptance Testing (UAT)

1. Testing by actual end-users to ensure the software meets expectations.

2. Example: Apple beta releases iOS updates to a small group of users before the final launch.

6. Release Approval Meeting

3. Final sign-off from QA, DevOps, and Product Teams.

4. Example: Netflix has "war rooms" where teams assess potential risks before deploying
major changes.

7. Deployment in Production

5. Deployment strategies:

1. Blue-Green Deployment: Rolling out new updates to a small percentage of users.

2. Canary Deployment: Releasing features in phases to detect potential issues early.


IT Mustakbil Training Program 21
unit testing,
integration testing and
system testing.

IT Mustakbil Training Program


Types of testing

IT Mustakbil Training Program 23


Types of Testing
Different Types of Software Testing Techniques

1.Black box Testing: Testing in which the tester doesn’t have access to the source
code of the software and is conducted at the software interface without any concern
with the internal logical structure of the software known as black-box testing.

2.White box Testing: Testing in which the tester is aware of the internal workings of
the product, has access to its source code, and is conducted by making sure that all
internal operations are performed according to the specifications is known as white
box testing.

3.Grey Box Testing: Testing in which the testers should have knowledge of
implementation, however, they need not be experts.

IT Mustakbil Training Program 24


Levels of testing
Different Levels of Software Testing

Software level testing can be majorly classified into 4 levels:


1.Unit Testing: It a level of the software testing process where individual units/components of a
software/system are tested. The purpose is to validate that each unit of the software performs as designed.

2.Integration Testing: It is a level of the software testing process where individual units are combined and
tested as a group. The purpose of this level of testing is to expose faults in the interaction between integrated
units.

3.System Testing: It is a level of the software testing process where a complete, integrated system/software
is tested. The purpose of this test is to evaluate the system’s compliance with the specified requirements.

4.Acceptance Testing: It is a level of the software testing process where a system is tested for acceptability.
The purpose of this test is to evaluate the system’s compliance with the business requirements and assess
whether it is acceptable for delivery.

IT Mustakbil Training Program 25


Unit Testing

Unit Testing

•Definition: Testing individual functions/modules in isolation.

•Responsibility: Developers.

•Tools: JUnit (Java), NUnit (.NET), pytest (Python).

•Example: Amazon tests its recommendation algorithm’s individual


functions before integrating.

IT Mustakbil Training Program 26


Integration Testing

Integration Testing

•Definition: Testing interactions between multiple


components/modules.

•Responsibility: Developers & Test Engineers.

•Tools: Selenium, Postman (API Testing).

•Example: Netflix tests API communication between user interface,


payment gateway, and video streaming services.

IT Mustakbil Training Program 27


System Testing
System Testing

✅ Tests the complete, integrated system to verify if it meets functional and non-functional
requirements.
✅ Includes UI testing, security testing, performance testing, and end-to-end user flow
verification.

Example:

📌 Uber Ride Booking System

•Tests the entire ride-booking flow from searching for a ride to payment confirmation.

•System Test: Ensures that location services, driver allocation, fare calculation, and push
notifications work seamlessly.

•.

IT Mustakbil Training Program 28


Automated testing

✅ Faster than manual testing – Tests run in minutes instead of


hours.
✅ Reduces human errors – Eliminates mistakes caused by manual
testing.
✅ Scalable – Can test thousands of test cases at once.
✅ Cost-effective in the long run – Reduces rework and improves
code quality.
✅ Ensures Continuous Integration (CI) and Deployment (CD) –
Automatically tests every new code change.

IT Mustakbil Training Program 29


Common Tools
Used in SQA

IT Mustakbil Training Program


Common Tools Used in SQA

Popular SQA Tools

1.Test Automation Tools – Selenium, Cypress, Appium.

2.Bug Tracking Tools – JIRA, Bugzilla, Trello.

3.Continuous Integration Tools – Jenkins, GitHub Actions.

4.Security Testing Tools – OWASP ZAP, SonarQube.

IT Mustakbil Training Program 31


Case Study
In preparation for the holy month of Ramadan, Systems Limited is developing a "Ramadan Companion App" to help
users manage their fasting, prayer schedules, Qur’an reading, and charity donations. The app is designed to be
user-friendly, secure, and accessible, ensuring a seamless experience throughout Ramadan. It will be available on
both Android and iOS devices, allowing users to receive accurate prayer times based on their location. Users can
set reminders and customize notifications according to their preferences. To assist with fasting, the app includes a
fasting tracker where users can log their Suhoor and Iftar times. A countdown timer will display the remaining time
for each, helping users stay on schedule. The app also provides a Qur’an reading feature with daily verses and
Tafsir. Users can bookmark verses, listen to recitations, and share content with others. Additionally, a Zakat
Calculator helps users calculate their required Zakat based on income and savings. They can also track their
charity donations and donate directly to verified organizations.
The app features a Community Forum, allowing users to interact, share Ramadan experiences, and seek guidance.
Moderation tools will be in place to ensure that discussions remain respectful and informative. To maintain
branding consistency, the application ensures that the logo is always positioned at the top of the interface. Given
the expected high usage, the system must be capable of handling a large number of requests per second without
performance issues. To improve maintainability, the development team is committed to writing well-documented
code with proper comments, making future modifications easier. Security is a priority, with user data protected
through encryption, and authentication required for sensitive actions. The app also includes accessibility features
such as support for screen readers and font size adjustments to ensure usability for visually impaired users.
Additionally, to enhance user convenience, certain features like Qur’an reading and fasting tracking will be
available offline.
IT Mustakbil Training Program 32
Questions

Write test cases for login page of Ramadan Companion App.

Write any five-unit test cases for Ramadan Companion App

Name any three non-functional testing that QA engineer should


perform on Ramadan Companion App.

Is the Ramadan Companion App portable and scalable? Justify your


answer.

IT Mustakbil Training Program 33

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy