SlideShare a Scribd company logo
Quality Partners™
www.SQ-Partners.com
© 2016, Quality Partners™
 1. Introduction to Software Engineering
 2. Introduction to Quality Control Engineering
 3. Quality Control Lifecycle During the SDLC
 4. Test Planning and Management
 5. How to Verify the Software Requirements
 6. Effective Test Design Techniques
 7. How to Create Effective Test Cases
 8. Non-functional Testing Techniques
 9. Test Reporting and Monitoring
 10. Test Time Estimation and Defects Seeding
•2
Introduction to Software Engineering
What is Software Engineering?
Software engineering is the application
of a systematic and quantifiable
approach to the design, development,
and maintenance of software.
•4
Part 1: Introduction to Software Engineering
What is the SDLC Model ?
“Software development life cycle” model
describe phases of the software cycle
and the order in which those phases are
executed.
There are many models, and many
companies adopt their own, but all have
similar patterns or references.
•5
Part 1: Introduction to Software Engineering
What are the common SDLC Models ?
1. Big Bang
2. Code and Fix
3. Waterfall
4. Iterative
5. V-model
Note: There are many other models, and many
companies adopt their own, but most models are
inherited from the above listed models.
•6
Part 1: Introduction to Software Engineering
1. Big-Bang Model :
 The Approach
People+Money+Energy=Perfect
Software or Nothing!
 Advantages
Simple, needs less planning, less
formal development process
 Disadvantages
No formal testing activities, hard to
manage and monitor, risky
•7
2. Code and Fix Model :
 The Approach
Informal specification  loop of code and
fix till enough-is-enough decision
Release
 Advantages
Little planning and documentation
work
 Disadvantages
Hard to manage the testing and control the
quality
•8
3. Waterfall Model :
 The Approach
Discrete phases, a review after each
phase will decide to move next or stay
at this phase till it’s ready.
 Advantages
Easy to test (clear requirements), easy
to manage and monitor
 Disadvantages
High bugs fixing and changes cost, the
customer has minimal involvement
during the project
•9
4. Iterative Model :
 The Approach
Dividing the project into builds, each build
can be executed by waterfall model.
 Advantages
Easy to test, customer is tightly
Involved, change cost is low.
 Disadvantages
Time consuming.
(C) 2015, Quality Partners™ •10
5. V- Model :
 The Approach
For every single phase in the development
cycle there is a directly associated testing
phase. It is an extension of the waterfall.
 Advantages
Testing is exist in every phase.
Defects are detected early
 Disadvantages
Time consuming.
(C) 2015, Quality Partners™ •11
Introduction to Quality Control
Engineering
What is Software Quality Control (QC)?
•13
QC is the set of procedures used by organizations to
ensure that a software product will meet its quality
goals at the best value to the customer, and to
continually improve the organization’s ability to
produce software products in the future.
Software quality control refers to specified functional
requirements as well as non-functional requirements.
These specified procedures and outlined requirements
leads to the idea of Verification and Validation and
software testing.
What is Software Testing?
•14
A quality control activity aimed at
evaluating a software item against the
given system requirements.
This includes, but is not limited to, the
process of executing a program or
application with the intent of finding
software bugs.
Testing is a QC activity.
What is the Verification and Validation (V&V)?
•15
Verification: Confirming that something
(software) meets its specification.
Validation: Confirming that it meets the
user’s requirements.
The two major V&V activities are reviews,
and testing.
Testing is part of the V&V activities.
What is the Software ‘Bug’ ?
•16
Things the software does that while it
is not supposed to do, or
something the software doesn't while
it is supposed to.
Why Does Software Have Bugs ?
•17
• Miscommunication or no communication.
• Programming errors.
• Changing requirements.
• Time pressures.
• Ego.
• Poorly documented code.
• Software development tools.
What should the Tester do?
•18
1. Find the bugs
2. Find them early
3. Make sure that they have been fixed
What should not the Tester do?
•19
1. Fix the bugs!
2. Test with good faith!
3. Test with no requirements!
4. Not to report the obvious bugs!
5. Mock at others because of their bugs!
Main Qualifications for a Good Software Tester:
•20
• Be familiar with the SDLC being used.
• Have excellent attention to details.
• Have excellent communication skills (oral and written).
•Have strong personality and the ability to resist
pressures and say 'no' to other managers when quality
is insufficient.
•Be able to run meetings and keep them focused.
• Patient, Mature and diplomatic.
•Able to prioritize things and take critical decisions.
Quality Control Lifecycle Through
the SDLC
Testing Lifecycle main activities:
•22
1. Test Planning.
2. Test Analysis and Design.
3. Test Cases preparation.
4. Test Execution.
5. Test Reporting and Monitoring.
6. Bugs Reporting and Regression Testing.
7. Releasing Reporting.
8. User Acceptance Test Execution.
What are the Testing Lifecycle main activities?
(C) 2015, Quality Partners™ •23
Project Phase Team Deliverables QC Deliverables
Initiation
o Charter
o Scope
o Scope Verification
Planning o Project Plans
o QC Plan
o UAT Plan
Analysis
o SRS
o Use Cases
o SRS Verification
o Test Design
o Test Cases
Design
o Logic Design
o DB Design (ERD)
o GUI Design (Mockups)
o Design Verification
Development and
Testing
o Builds
o Functional and Non-Functional Testing
o Bugs Reports
o Final Release Report (FRR)
Delivery o Release o User Acceptance Test
Test Planning and Management
What are the main components of the
good Test Plan?
•25
1. Introduction
1.1 Objectives
1.2 Scope (In scope and out of scope)
1.3 Roles & Responsibilities
1.4 Risks and Dependencies
1.5 Deliverables
2. Resources and Environment Requirements
2.1 Staffing and Training needs
2.2 Test Environment
2.3 Test Tools Requirements
2.4 Test Data
What are the main components of the
good test plan (cont’d)?
•26
3. Schedule
4. Test Monitoring and Reporting
5. Pass/Fail criteria
How to Verify the Software
Requirements
What is the Software Requirements Specification
Document?
•28
A software requirements specification (SRS)
is a comprehensive description of the
intended purpose and environment for
software under development. The SRS
document fully describes what the software
will do and how it will be expected to
perform.
The Characteristics of a good Requirements:
•29
1.Complete: The information covers all aspects of
this user function.
2.Consistent: The information for this user
function is internally consistent. There are no
conflicting statements.
3.Correct: The item is free from error.
4.Testable: Can the requirement be easily mapped
to specific test cases?
The Characteristics of a good Requirements :
(Cont’d)
•30
5. Specific :The item is exact and not vague;
there is a single interpretation; the meaning
of each item is understood; the specification
is easy to read. Use well defined terms and
enough information. Terms such as “High”,
“Low”, “Quick”, “Fast”, “Big” are not
acceptable.
6. Relevant: The item is related to the
problem and its solution.
7. Expressed in the User’s Language: All
requirements shall be expressed using no
design and in the users terminology.
The Characteristics of a good Requirements :
(Cont’d)
•31
8. Understandable: Difficult language
should not be used. Be clear. If formal
notations are used, make sure they are easy
to understand. Figures and tables are
helpful, but must be
explained.
9. Traceable: The item can be traced to its
origin in the problem environment. Also,
you must be able to find who originated a
requirement, who wrote it, what other
requirement does this one impact. This
information is important to make the
requirements usable and maintainable
(changeable).
The Characteristics of a good Requirements :
(Cont’d)
•32
10. Feasible: The item can be implemented with
the available techniques, tools, resources, and
personnel, and within the specified cost and
schedule constraints .
11. Free of unwarranted design details: The
requirements specifications are a statement of the
requirements that must be satisfied by the
problem solution, and they are not obscured by
proposed solution to the problem.
12. Prioritized: The priority of this item relative to
other requirements has been recorded.
Effective Test Design Techniques
What is Test Design document?
•34
Documentation specifying the details of the
test approach for a software feature or
combination of software features and identifying
the associated tests.
Test Design Techniques:
•35
1. Equivalence Partitioning
Equivalence partitioning is a test design method
for deriving test cases. In this method, classes of
input conditions called equivalence classes are
identified such that each member of the class
causes the same kind of processing and output to
occur. In this method, the tester identifies various
equivalence classes for partitioning. A class is a set
of input conditions that are is likely to be handled
the same way by the system. If the system were to
handle one case in the class erroneously, it would
handle all cases erroneously.
1. Equivalence Partitioning (Cont’d):
•36
Why we should use Equivalence Partitioning
when designing test cases:
1. To reduce the number of test cases (by
avoiding the redundant cases), hence reducing
the testing time and cost.
2. To assure better test coverage, by testing all
input classes, hence improve the test efficiency.
Test Design Techniques:
•37
2. Boundary Values Analysis (BVA)
BVA is a methodology for designing test cases that
concentrates software testing effort on cases near
the limits of input ranges (the boundaries).
Note: BVA should be performed after identifying
the Equivalence Partitions of the software.
BVA generates test cases that highlight errors
better than equivalence partitioning. The trick is to
concentrate software testing efforts at the
extreme ends of the equivalence classes. At those
points when input values change from valid to
invalid errors are most likely to occur.
What are the main components of the Good
Test Design document?
•38
1. Scope
1.1 Features to be tested
1.2 Testing types to be applied
2. Test Cases Structure
3. Test Levels
4. Test Approach (Design Matrix)
5. Pass/Fail criteria
Testing Types Vs Testing Levels:
•39
Usability Acceptance
How to Create Effective Test Cases
What are the characteristics of a good Test Case?
•41
 Testability; easy to be executed
 Use active case, do this, do that, system displays this,
does that
 Simple, conversational language
 Exact, consistent names of fields, not generic
 Don’t explain Windows basics
 10-15 steps or less. In the case of integration test case’s
try to provide references instead of explaining the
functionality again and again
 Always update your test cases along with new build
Non-Functional Testing Techniques
Non-Functional Testing Types:
•43
 Performance: the response time, utilization, and throughput
behavior of the system.
• Volume : Testing a software application for a certain data volume.
• Load : Creating demand on a system or device and measuring its response.
• Stress: Determine the stability of a given system or entity.
 Compatibility : Measures how well the system operates on different operating
environment.
 Recovery : Testing a system's ability to recover from a hardware or software
failure.
Non-Functional Testing Types (Cont’d):
•44
 Availability: Is it available when and where I need to use it?
 Efficiency: How few system resources does it consume?
 Flexibility: How easy is it to add new features?
 Maintainability: How easy it is to correct defects or make changes?
 Portability: Can it be made to work on other platforms?
 Security: The system’s ability to resist unauthorized attempts at usage or
behavior modification, while still providing service to authorized users.
 Accessibility testing: measure how well the system interface serve users with
disabilities.
Non-Functional Testing Types (Cont’d):
•45
 Reliability: How long does it run before causing a failure?
 Reusability: How easily can we use components in other systems?
 Usability: How easy is it for people to learn or to use?
 Installability: How easy is it to correctly install the product.
Test Reporting and Monitoring
How to write effective Bug report
•47
 Report the pattern not an example.
 Don’t describe what's wrong, only!
 Be direct to the point (don’t tell a story!).
 Report the bug, but not how to solve it.
Don’t mix between priority and severity.
 Don’t use: CAPS, red letters, red circles, ‘!’ , ‘?’.
 Don’t use your personal judgment.
 Write with the fixer language, not with yours.
 Minimize the options.
 Don’t use the word ‘Sometimes’.
Test Time Estimation
Bug Convergence
(C) 2015, Quality Partners™ •49
Bug convergence is the point at which the team
makes visible progress against the active bug count.
At bug convergence, the rate of bugs resolved
exceeds the rate of bugs found; thus the actual
number of active bugs decreases.
Because the bug count will still go up and down,
even after it starts its overall decline, bug
convergence usually manifests itself as a trend
rather than a fixed point in time.
Defects Seeding
•50
Defect seeding is a practice in which defects are
intentionally inserted into a program by one group
for detection by another group. The ratio of the
number of seeded defects detected to the total
number of defects seeded provides a rough idea of
the total number of unseeded defects that have
been detected.
IndigenousDefectsTotal =
( SeededDefectsPlanted / SeededDefectsFound ) *
IndigenousDefectsFound
Author Contacts
Belal Raslan
Email: braslan@sq-partners.com

More Related Content

What's hot

Software testing
Software testingSoftware testing
Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software Testing
Nishant Worah
 
Regression testing
Regression testingRegression testing
Regression testing
Harsh verma
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
Raghu Kiran
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
medsherb
 
Software testing.ppt
Software testing.pptSoftware testing.ppt
Software testing.ppt
Komal Garg
 
Regression testing
Regression testingRegression testing
Regression testing
Mohua Amin
 
Types of testing
Types of testingTypes of testing
Types of testing
Sonam Agarwal
 
Software Testing Introduction
Software Testing IntroductionSoftware Testing Introduction
Software Testing Introduction
ArunKumar5524
 
SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4  SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4
Mohammad Faizan
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
Confiz
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life Cycle
Udayakumar Sree
 
Types of Software Testing | Edureka
Types of Software Testing | EdurekaTypes of Software Testing | Edureka
Types of Software Testing | Edureka
Edureka!
 
Test Levels & Techniques
Test Levels & TechniquesTest Levels & Techniques
Test Levels & Techniques
Dhanasekaran Nagarajan
 
Software testing
Software testingSoftware testing
Software testing
Madhumita Chatterjee
 
Intro to Manual Testing
Intro to Manual TestingIntro to Manual Testing
Intro to Manual Testing
Ayah Soufan
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
University of Sargodha
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
Testbytes
 
Manual testing ppt
Manual testing pptManual testing ppt
Manual testing ppt
Santosh Maranabasari
 
Software testing
Software testingSoftware testing
Software testing
mkn3009
 

What's hot (20)

Software testing
Software testingSoftware testing
Software testing
 
Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software Testing
 
Regression testing
Regression testingRegression testing
Regression testing
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
 
Software testing.ppt
Software testing.pptSoftware testing.ppt
Software testing.ppt
 
Regression testing
Regression testingRegression testing
Regression testing
 
Types of testing
Types of testingTypes of testing
Types of testing
 
Software Testing Introduction
Software Testing IntroductionSoftware Testing Introduction
Software Testing Introduction
 
SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4  SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life Cycle
 
Types of Software Testing | Edureka
Types of Software Testing | EdurekaTypes of Software Testing | Edureka
Types of Software Testing | Edureka
 
Test Levels & Techniques
Test Levels & TechniquesTest Levels & Techniques
Test Levels & Techniques
 
Software testing
Software testingSoftware testing
Software testing
 
Intro to Manual Testing
Intro to Manual TestingIntro to Manual Testing
Intro to Manual Testing
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
 
Manual testing ppt
Manual testing pptManual testing ppt
Manual testing ppt
 
Software testing
Software testingSoftware testing
Software testing
 

Viewers also liked

Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
Heritage Institute Of Tech,India
 
Running, improving & maintaining a site in the real world
Running, improving & maintaining a site in the real worldRunning, improving & maintaining a site in the real world
Running, improving & maintaining a site in the real world
David Voyles
 
USER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPTUSER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPT
vicci4041
 
User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15
koolkampus
 
User Interface Design
User Interface DesignUser Interface Design
User Interface Design
JReifman
 
Lecture 7 Software Engineering and Design User Interface Design
Lecture 7 Software Engineering and Design User Interface Design Lecture 7 Software Engineering and Design User Interface Design
Lecture 7 Software Engineering and Design User Interface Design
op205
 
User interface design: definitions, processes and principles
User interface design: definitions, processes and principlesUser interface design: definitions, processes and principles
User interface design: definitions, processes and principles
David Little
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts ppt
Rathna Priya
 
Architectural Design
Architectural DesignArchitectural Design
Architectural Design
Joe Christensen
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
Preeti Mishra
 
Software testing basic concepts
Software testing basic conceptsSoftware testing basic concepts
Software testing basic concepts
Hưng Hoàng
 
Final Year Project Presentation
Final Year Project PresentationFinal Year Project Presentation
Final Year Project Presentation
Syed Absar
 
Kick Off Meeting Presentation
Kick Off Meeting PresentationKick Off Meeting Presentation
Kick Off Meeting Presentation
Isidro Sid Calayag
 
Product launch ppt
Product launch pptProduct launch ppt
Product launch ppt
Prateek Mishra
 

Viewers also liked (14)

Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Running, improving & maintaining a site in the real world
Running, improving & maintaining a site in the real worldRunning, improving & maintaining a site in the real world
Running, improving & maintaining a site in the real world
 
USER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPTUSER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPT
 
User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15
 
User Interface Design
User Interface DesignUser Interface Design
User Interface Design
 
Lecture 7 Software Engineering and Design User Interface Design
Lecture 7 Software Engineering and Design User Interface Design Lecture 7 Software Engineering and Design User Interface Design
Lecture 7 Software Engineering and Design User Interface Design
 
User interface design: definitions, processes and principles
User interface design: definitions, processes and principlesUser interface design: definitions, processes and principles
User interface design: definitions, processes and principles
 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts ppt
 
Architectural Design
Architectural DesignArchitectural Design
Architectural Design
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Software testing basic concepts
Software testing basic conceptsSoftware testing basic concepts
Software testing basic concepts
 
Final Year Project Presentation
Final Year Project PresentationFinal Year Project Presentation
Final Year Project Presentation
 
Kick Off Meeting Presentation
Kick Off Meeting PresentationKick Off Meeting Presentation
Kick Off Meeting Presentation
 
Product launch ppt
Product launch pptProduct launch ppt
Product launch ppt
 

Similar to Software Testing Basics

A Research Study on importance of Testing and Quality Assurance in Software D...
A Research Study on importance of Testing and Quality Assurance in Software D...A Research Study on importance of Testing and Quality Assurance in Software D...
A Research Study on importance of Testing and Quality Assurance in Software D...
Sehrish Asif
 
Aim (A).pptx
Aim (A).pptxAim (A).pptx
Aim (A).pptx
14941
 
Manual Testing Interview Questions & Answers.docx
Manual Testing Interview Questions & Answers.docxManual Testing Interview Questions & Answers.docx
Manual Testing Interview Questions & Answers.docx
ssuser305f65
 
Learn software testing
Learn software testingLearn software testing
Learn software testing
sajedah abukhdeir
 
SQA_Lec#01-1.ppt
SQA_Lec#01-1.pptSQA_Lec#01-1.ppt
SQA_Lec#01-1.ppt
Ahmad Abbas
 
Software Testing - Software Quality
Software Testing - Software QualitySoftware Testing - Software Quality
Software Testing - Software Quality
Ajeng Savitri
 
General technical interview questions
General technical interview questionsGeneral technical interview questions
General technical interview questions
Kevalkumar Shah
 
UNIT 1.pptx
UNIT 1.pptxUNIT 1.pptx
UNIT 1.pptx
GNANAJESLINJ
 
Mt s10 stlc&test_plan
Mt s10 stlc&test_planMt s10 stlc&test_plan
Mt s10 stlc&test_plan
TestingGeeks
 
Lecture 08 (SQE, Testing, PM, RM, ME).pptx
Lecture 08 (SQE, Testing, PM, RM, ME).pptxLecture 08 (SQE, Testing, PM, RM, ME).pptx
Lecture 08 (SQE, Testing, PM, RM, ME).pptx
SirRafiLectures
 
SQA_Class
SQA_ClassSQA_Class
Chapter 8 software quality assurance and configuration audit
Chapter 8 software quality assurance and configuration auditChapter 8 software quality assurance and configuration audit
Chapter 8 software quality assurance and configuration audit
Cliftone Mullah
 
Softwaretesting
SoftwaretestingSoftwaretesting
Softwaretesting
nazeer pasha
 
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
AnilKumarARS
 
Software testing introduction
Software testing  introductionSoftware testing  introduction
Software testing introduction
GaneshKumarKanthiah
 
Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)
bharathanche
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
Ankit Dubey
 
Fundamental of testing
Fundamental of testingFundamental of testing
Fundamental of testing
Dr. Ahmed Al Zaidy
 
unit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptxunit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptx
PriyaFulpagare1
 
An introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAn introduction to Software Testing and Test Management
An introduction to Software Testing and Test Management
Anuraj S.L
 

Similar to Software Testing Basics (20)

A Research Study on importance of Testing and Quality Assurance in Software D...
A Research Study on importance of Testing and Quality Assurance in Software D...A Research Study on importance of Testing and Quality Assurance in Software D...
A Research Study on importance of Testing and Quality Assurance in Software D...
 
Aim (A).pptx
Aim (A).pptxAim (A).pptx
Aim (A).pptx
 
Manual Testing Interview Questions & Answers.docx
Manual Testing Interview Questions & Answers.docxManual Testing Interview Questions & Answers.docx
Manual Testing Interview Questions & Answers.docx
 
Learn software testing
Learn software testingLearn software testing
Learn software testing
 
SQA_Lec#01-1.ppt
SQA_Lec#01-1.pptSQA_Lec#01-1.ppt
SQA_Lec#01-1.ppt
 
Software Testing - Software Quality
Software Testing - Software QualitySoftware Testing - Software Quality
Software Testing - Software Quality
 
General technical interview questions
General technical interview questionsGeneral technical interview questions
General technical interview questions
 
UNIT 1.pptx
UNIT 1.pptxUNIT 1.pptx
UNIT 1.pptx
 
Mt s10 stlc&test_plan
Mt s10 stlc&test_planMt s10 stlc&test_plan
Mt s10 stlc&test_plan
 
Lecture 08 (SQE, Testing, PM, RM, ME).pptx
Lecture 08 (SQE, Testing, PM, RM, ME).pptxLecture 08 (SQE, Testing, PM, RM, ME).pptx
Lecture 08 (SQE, Testing, PM, RM, ME).pptx
 
SQA_Class
SQA_ClassSQA_Class
SQA_Class
 
Chapter 8 software quality assurance and configuration audit
Chapter 8 software quality assurance and configuration auditChapter 8 software quality assurance and configuration audit
Chapter 8 software quality assurance and configuration audit
 
Softwaretesting
SoftwaretestingSoftwaretesting
Softwaretesting
 
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
 
Software testing introduction
Software testing  introductionSoftware testing  introduction
Software testing introduction
 
Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
Fundamental of testing
Fundamental of testingFundamental of testing
Fundamental of testing
 
unit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptxunit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptx
 
An introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAn introduction to Software Testing and Test Management
An introduction to Software Testing and Test Management
 

Recently uploaded

Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 

Recently uploaded (20)

Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 

Software Testing Basics

  • 2.  1. Introduction to Software Engineering  2. Introduction to Quality Control Engineering  3. Quality Control Lifecycle During the SDLC  4. Test Planning and Management  5. How to Verify the Software Requirements  6. Effective Test Design Techniques  7. How to Create Effective Test Cases  8. Non-functional Testing Techniques  9. Test Reporting and Monitoring  10. Test Time Estimation and Defects Seeding •2
  • 4. What is Software Engineering? Software engineering is the application of a systematic and quantifiable approach to the design, development, and maintenance of software. •4 Part 1: Introduction to Software Engineering
  • 5. What is the SDLC Model ? “Software development life cycle” model describe phases of the software cycle and the order in which those phases are executed. There are many models, and many companies adopt their own, but all have similar patterns or references. •5 Part 1: Introduction to Software Engineering
  • 6. What are the common SDLC Models ? 1. Big Bang 2. Code and Fix 3. Waterfall 4. Iterative 5. V-model Note: There are many other models, and many companies adopt their own, but most models are inherited from the above listed models. •6 Part 1: Introduction to Software Engineering
  • 7. 1. Big-Bang Model :  The Approach People+Money+Energy=Perfect Software or Nothing!  Advantages Simple, needs less planning, less formal development process  Disadvantages No formal testing activities, hard to manage and monitor, risky •7
  • 8. 2. Code and Fix Model :  The Approach Informal specification  loop of code and fix till enough-is-enough decision Release  Advantages Little planning and documentation work  Disadvantages Hard to manage the testing and control the quality •8
  • 9. 3. Waterfall Model :  The Approach Discrete phases, a review after each phase will decide to move next or stay at this phase till it’s ready.  Advantages Easy to test (clear requirements), easy to manage and monitor  Disadvantages High bugs fixing and changes cost, the customer has minimal involvement during the project •9
  • 10. 4. Iterative Model :  The Approach Dividing the project into builds, each build can be executed by waterfall model.  Advantages Easy to test, customer is tightly Involved, change cost is low.  Disadvantages Time consuming. (C) 2015, Quality Partners™ •10
  • 11. 5. V- Model :  The Approach For every single phase in the development cycle there is a directly associated testing phase. It is an extension of the waterfall.  Advantages Testing is exist in every phase. Defects are detected early  Disadvantages Time consuming. (C) 2015, Quality Partners™ •11
  • 12. Introduction to Quality Control Engineering
  • 13. What is Software Quality Control (QC)? •13 QC is the set of procedures used by organizations to ensure that a software product will meet its quality goals at the best value to the customer, and to continually improve the organization’s ability to produce software products in the future. Software quality control refers to specified functional requirements as well as non-functional requirements. These specified procedures and outlined requirements leads to the idea of Verification and Validation and software testing.
  • 14. What is Software Testing? •14 A quality control activity aimed at evaluating a software item against the given system requirements. This includes, but is not limited to, the process of executing a program or application with the intent of finding software bugs. Testing is a QC activity.
  • 15. What is the Verification and Validation (V&V)? •15 Verification: Confirming that something (software) meets its specification. Validation: Confirming that it meets the user’s requirements. The two major V&V activities are reviews, and testing. Testing is part of the V&V activities.
  • 16. What is the Software ‘Bug’ ? •16 Things the software does that while it is not supposed to do, or something the software doesn't while it is supposed to.
  • 17. Why Does Software Have Bugs ? •17 • Miscommunication or no communication. • Programming errors. • Changing requirements. • Time pressures. • Ego. • Poorly documented code. • Software development tools.
  • 18. What should the Tester do? •18 1. Find the bugs 2. Find them early 3. Make sure that they have been fixed
  • 19. What should not the Tester do? •19 1. Fix the bugs! 2. Test with good faith! 3. Test with no requirements! 4. Not to report the obvious bugs! 5. Mock at others because of their bugs!
  • 20. Main Qualifications for a Good Software Tester: •20 • Be familiar with the SDLC being used. • Have excellent attention to details. • Have excellent communication skills (oral and written). •Have strong personality and the ability to resist pressures and say 'no' to other managers when quality is insufficient. •Be able to run meetings and keep them focused. • Patient, Mature and diplomatic. •Able to prioritize things and take critical decisions.
  • 21. Quality Control Lifecycle Through the SDLC
  • 22. Testing Lifecycle main activities: •22 1. Test Planning. 2. Test Analysis and Design. 3. Test Cases preparation. 4. Test Execution. 5. Test Reporting and Monitoring. 6. Bugs Reporting and Regression Testing. 7. Releasing Reporting. 8. User Acceptance Test Execution.
  • 23. What are the Testing Lifecycle main activities? (C) 2015, Quality Partners™ •23 Project Phase Team Deliverables QC Deliverables Initiation o Charter o Scope o Scope Verification Planning o Project Plans o QC Plan o UAT Plan Analysis o SRS o Use Cases o SRS Verification o Test Design o Test Cases Design o Logic Design o DB Design (ERD) o GUI Design (Mockups) o Design Verification Development and Testing o Builds o Functional and Non-Functional Testing o Bugs Reports o Final Release Report (FRR) Delivery o Release o User Acceptance Test
  • 24. Test Planning and Management
  • 25. What are the main components of the good Test Plan? •25 1. Introduction 1.1 Objectives 1.2 Scope (In scope and out of scope) 1.3 Roles & Responsibilities 1.4 Risks and Dependencies 1.5 Deliverables 2. Resources and Environment Requirements 2.1 Staffing and Training needs 2.2 Test Environment 2.3 Test Tools Requirements 2.4 Test Data
  • 26. What are the main components of the good test plan (cont’d)? •26 3. Schedule 4. Test Monitoring and Reporting 5. Pass/Fail criteria
  • 27. How to Verify the Software Requirements
  • 28. What is the Software Requirements Specification Document? •28 A software requirements specification (SRS) is a comprehensive description of the intended purpose and environment for software under development. The SRS document fully describes what the software will do and how it will be expected to perform.
  • 29. The Characteristics of a good Requirements: •29 1.Complete: The information covers all aspects of this user function. 2.Consistent: The information for this user function is internally consistent. There are no conflicting statements. 3.Correct: The item is free from error. 4.Testable: Can the requirement be easily mapped to specific test cases?
  • 30. The Characteristics of a good Requirements : (Cont’d) •30 5. Specific :The item is exact and not vague; there is a single interpretation; the meaning of each item is understood; the specification is easy to read. Use well defined terms and enough information. Terms such as “High”, “Low”, “Quick”, “Fast”, “Big” are not acceptable. 6. Relevant: The item is related to the problem and its solution. 7. Expressed in the User’s Language: All requirements shall be expressed using no design and in the users terminology.
  • 31. The Characteristics of a good Requirements : (Cont’d) •31 8. Understandable: Difficult language should not be used. Be clear. If formal notations are used, make sure they are easy to understand. Figures and tables are helpful, but must be explained. 9. Traceable: The item can be traced to its origin in the problem environment. Also, you must be able to find who originated a requirement, who wrote it, what other requirement does this one impact. This information is important to make the requirements usable and maintainable (changeable).
  • 32. The Characteristics of a good Requirements : (Cont’d) •32 10. Feasible: The item can be implemented with the available techniques, tools, resources, and personnel, and within the specified cost and schedule constraints . 11. Free of unwarranted design details: The requirements specifications are a statement of the requirements that must be satisfied by the problem solution, and they are not obscured by proposed solution to the problem. 12. Prioritized: The priority of this item relative to other requirements has been recorded.
  • 33. Effective Test Design Techniques
  • 34. What is Test Design document? •34 Documentation specifying the details of the test approach for a software feature or combination of software features and identifying the associated tests.
  • 35. Test Design Techniques: •35 1. Equivalence Partitioning Equivalence partitioning is a test design method for deriving test cases. In this method, classes of input conditions called equivalence classes are identified such that each member of the class causes the same kind of processing and output to occur. In this method, the tester identifies various equivalence classes for partitioning. A class is a set of input conditions that are is likely to be handled the same way by the system. If the system were to handle one case in the class erroneously, it would handle all cases erroneously.
  • 36. 1. Equivalence Partitioning (Cont’d): •36 Why we should use Equivalence Partitioning when designing test cases: 1. To reduce the number of test cases (by avoiding the redundant cases), hence reducing the testing time and cost. 2. To assure better test coverage, by testing all input classes, hence improve the test efficiency.
  • 37. Test Design Techniques: •37 2. Boundary Values Analysis (BVA) BVA is a methodology for designing test cases that concentrates software testing effort on cases near the limits of input ranges (the boundaries). Note: BVA should be performed after identifying the Equivalence Partitions of the software. BVA generates test cases that highlight errors better than equivalence partitioning. The trick is to concentrate software testing efforts at the extreme ends of the equivalence classes. At those points when input values change from valid to invalid errors are most likely to occur.
  • 38. What are the main components of the Good Test Design document? •38 1. Scope 1.1 Features to be tested 1.2 Testing types to be applied 2. Test Cases Structure 3. Test Levels 4. Test Approach (Design Matrix) 5. Pass/Fail criteria
  • 39. Testing Types Vs Testing Levels: •39 Usability Acceptance
  • 40. How to Create Effective Test Cases
  • 41. What are the characteristics of a good Test Case? •41  Testability; easy to be executed  Use active case, do this, do that, system displays this, does that  Simple, conversational language  Exact, consistent names of fields, not generic  Don’t explain Windows basics  10-15 steps or less. In the case of integration test case’s try to provide references instead of explaining the functionality again and again  Always update your test cases along with new build
  • 43. Non-Functional Testing Types: •43  Performance: the response time, utilization, and throughput behavior of the system. • Volume : Testing a software application for a certain data volume. • Load : Creating demand on a system or device and measuring its response. • Stress: Determine the stability of a given system or entity.  Compatibility : Measures how well the system operates on different operating environment.  Recovery : Testing a system's ability to recover from a hardware or software failure.
  • 44. Non-Functional Testing Types (Cont’d): •44  Availability: Is it available when and where I need to use it?  Efficiency: How few system resources does it consume?  Flexibility: How easy is it to add new features?  Maintainability: How easy it is to correct defects or make changes?  Portability: Can it be made to work on other platforms?  Security: The system’s ability to resist unauthorized attempts at usage or behavior modification, while still providing service to authorized users.  Accessibility testing: measure how well the system interface serve users with disabilities.
  • 45. Non-Functional Testing Types (Cont’d): •45  Reliability: How long does it run before causing a failure?  Reusability: How easily can we use components in other systems?  Usability: How easy is it for people to learn or to use?  Installability: How easy is it to correctly install the product.
  • 46. Test Reporting and Monitoring
  • 47. How to write effective Bug report •47  Report the pattern not an example.  Don’t describe what's wrong, only!  Be direct to the point (don’t tell a story!).  Report the bug, but not how to solve it. Don’t mix between priority and severity.  Don’t use: CAPS, red letters, red circles, ‘!’ , ‘?’.  Don’t use your personal judgment.  Write with the fixer language, not with yours.  Minimize the options.  Don’t use the word ‘Sometimes’.
  • 49. Bug Convergence (C) 2015, Quality Partners™ •49 Bug convergence is the point at which the team makes visible progress against the active bug count. At bug convergence, the rate of bugs resolved exceeds the rate of bugs found; thus the actual number of active bugs decreases. Because the bug count will still go up and down, even after it starts its overall decline, bug convergence usually manifests itself as a trend rather than a fixed point in time.
  • 50. Defects Seeding •50 Defect seeding is a practice in which defects are intentionally inserted into a program by one group for detection by another group. The ratio of the number of seeded defects detected to the total number of defects seeded provides a rough idea of the total number of unseeded defects that have been detected. IndigenousDefectsTotal = ( SeededDefectsPlanted / SeededDefectsFound ) * IndigenousDefectsFound
  • 51. Author Contacts Belal Raslan Email: braslan@sq-partners.com