OOAD Software Quality and Testing
OOAD Software Quality and Testing
DESIGN
Subject code :
21CIC42 Module -5
1
MODULE 5 : QUALITY AND TESTING
Topics:
Quality assurance
Testing strategies
Test cases
Automated Testing Tools
Case Study
Cryptanalysis
Health Care Systems
Inventory Control System
Rational Rose Suite.
OBJECT ORIENTED ANALYSIS AND DESIGN
5
Testing Strategies
The objective of s/w testing is to uncover errors. The
various testing strategies constitutes –
• Unit Testing – Black Box testing, White black testing
• Integration Testing – Top–down testing, Bottom–up
testing, Regression testing
• Validation Testing – Alpha test, Beta test and
• System Testing – Recovery testing, Security testing,
Stress testing, Performance testing
6
• Unit and integration tests concentrate on functional
verification of a module and incorporation of modules into a
program structure.
• Validation testing demonstrates traceability to s/w
requirements and system testing validates s/w once it has been
incorporated into a larger system
• Unit test focuses verification effort on smallest unit of s/w
design the module. It constitutes two inner types of testing –
White box testing and Black box testing
7
• White box testing: White box testing assumes that specific
logic important and must be tested to guarantee system’s proper
functioning. One form of white box testing called path testing,
makes certain that each path in a object’s method is executed at
least once during testing & is of types
1. Statement testing coverage: Its aim is to test every statement
in object’s method at least once
2.Branch testing coverage: Idea is to perform enough tests
ensuring all branches are perfect
12
Test Cases
⇒ Testing is process of executing a program with the intent of finding errors
⇒ A good test case is one that has a high probability of detecting an as–yet
undiscovered error
⇒ A successful test case is one that detects as –yet undiscovered error
EXAMPLE
• For a Test Scenario: Check Login Functionality there many possible test
cases are:
Test Case 1: Check results on entering valid User Id & Password
Test Case Test Case
Test Steps Test Data Expected Actual Results Pass/Fail
ID Description
Results
1. Go to
site https://web.
Check whatsapp.com/ Userid =
2. Enter UserId User should
TU01 Customer guru99 As Expected Pass
3. Enter Login into
Login with Password =
Password an
valid Data pass99
4. Click Submit application
13
Automated Testing
Automated Testing is a technique where the Tester writes Scripts
on their own and uses suitable Software or Automation Tool to
test the software. It is an Automation Process of a Manual
Process. Allows for executing repetitive tasks without the
intervention of Manual Tester.
14
Automated Testing Process
15
Automation Testing Process:
Test Tool Selection: There will be some criteria for the Selection of the tool.
The majority of the criteria include: Do we have skilled resources to allocate
for automation tasks, Budget constraints, and Do the tool satisfy our needs?
Define Scope of Automation: This includes a few basic points such as
Framework should support Automation Scripts, Less Maintenance must be
there, High Return on Investment, Not many complex Test Cases
Planning, Design, and Development: For this, we need to Install particular
frameworks or libraries, and start designing and developing the test cases such
as NUnit, JUnit, QUnit, or required Software Automation Tools
Test Execution: Final Execution of test cases will take place in this phase and
it depends on Language to Language for .NET, we’ll be using NUnit, for
Java, we’ll be using JUnit, for JavaScript, we’ll be using QUnit or Jasmine,
etc.
Maintenance: Creation of Reports generated after Tests and that should be
documented so as to refer to that in future for next iterations
16
Advantages of Automation Testing:
Simplifies Test Case Execution
Improves Reliability of Tests
Increases amount of test coverage
Minimizing Human Interaction
Saves Time and Money
Test Results are made public
17
Automation Testing Tools
Selenium Installation
1) Jdk
https://www.oracle.com/in/java/technologies/javase-downloads.html
2) Eclipse installation
https://www.eclipse.org/downloads/
3)Selenium
https://www.selenium.dev/downloads/
4)Chrome driver installation
https://chromedriver.chromium.org/downloads 16
Cryptanalysis
In such cases, the design of the software system may need to take into
account the cryptographic algorithms and protocols that are being used, as
well as potential vulnerabilities or attacks that could be used to compromise
the security of the system.
19
Case-studies
HealthCare Domain Testing
Healthcare Domain Testing is a process to test healthcare application for various
factors like standards, safety, compliance, cross dependency with other entities, etc.
The purpose of healthcare domain testing is to ensure quality, reliability,
performance, safety and efficiency of the Healthcare application.
Refer:
https://www.guru99.com/healthcare-application-testing-with-
sample-test-cases.html
20
Rational Rose Suite
21
When to Use Rational Rose
22
Rational Rose Interface
23
24
25
Module Summary
Quality assurance
Testing strategies
Test cases
Automated Testing Tools
Case Study
Cryptanalysis
Health Care Systems
Inventory Control System
Rational Rose Suite.
Thank you