1- Software Testing Introduction
1- Software Testing Introduction
Fundamentals
Régis ATEMENGUE
Software Engineer | Technical Instructor.
@regis_ate | www.regisatemengue.com
Course Objectives
Understanding the fundamentals
of Software Quality
@regis_ate | www.regisatemengue.com
2
Course overview
@regis_ate | www.regisatemengue.com
33
Fundamentals of Software Quality
@regis_ate | www.regisatemengue.com
4
Fundamentals of Software Quality
History Failtures
@regis_ate | www.regisatemengue.com
5
Importance of Quality Software
@regis_ate | www.regisatemengue.com
6
Fundamentals of Software Quality
Importance of Quality Software
@regis_ate | www.regisatemengue.com
7
Fundamentals of Software Quality
Importance of Quality Software
@regis_ate | www.regisatemengue.com
8
The goal of Software Quality
@regis_ate | www.regisatemengue.com
9
Fundamentals of Software Quality
The goal of Software Quality
@regis_ate | www.regisatemengue.com
10
The definition of Software Quality
@regis_ate | www.regisatemengue.com
11
Fundamentals of Software Quality
Definition of Software Quality
@regis_ate | www.regisatemengue.com
12
Software failures in the story
@regis_ate | www.regisatemengue.com
13
Fundamentals of Software Quality
Software failures in the story
@regis_ate | www.regisatemengue.com
14
Fundamentals of Software Quality
Software failures in the story
@regis_ate | www.regisatemengue.com
15
Fundamentals of Software Quality
Software failures in the story
@regis_ate | www.regisatemengue.com
16
Fundamentals of Software Quality
Summary of Lessons
User Experience and Feedback Incorporation: Considering user feedback and focusing
on user experience during software development can help identify potential issues
before they become widespread problem
@regis_ate | www.regisatemengue.com
17
Modern Software Quality Management
@regis_ate | www.regisatemengue.com
18
Fundamentals of Software Quality
• Estimation
• Risk management
• Quality assurance/management
@regis_ate | www.regisatemengue.com
19
Fundamentals of Software Quality
Modern Software Quality Management
• Software inspections
• Software testing
• Configuration management
• Continuous improvement.
@regis_ate | www.regisatemengue.com
20
Fundamentals of Software Quality
Modern Software Quality Management(Software Inspections)
@regis_ate | www.regisatemengue.com
21
Fundamentals of Software Quality
Modern Software Quality Management(Software Inspections)
@regis_ate | www.regisatemengue.com
22
Software Engineering Refresher
@regis_ate | www.regisatemengue.com
23
What’s software Engineering ?
@regis_ate | www.regisatemengue.com
24
What’s software Engineering ?
@regis_ate | www.regisatemengue.com
25
Software Engineering Refresher
Challenge
@regis_ate | www.regisatemengue.com
26
Software Process and Lifecycle
@regis_ate | www.regisatemengue.com
27
Software Process and Lifecycle
There are several well-known lifecycles employed, such as the waterfall model
the spiral model, the Rational Unified Process, and the Agile methodology
Waterfall Lifecycle
Spiral Lifecycle
Agile Development
@regis_ate | www.regisatemengue.com
28
Software Process and Lifecycle
Waterfall Lifecycle
The testing generally includes unit, system, and user acceptance testing.
The waterfall model is employed for projects where the requirements can be
identified early in the project lifecycle or are known in advance
@regis_ate | www.regisatemengue.com
29
Software Process and Lifecycle
Waterfall Lifecycle
@regis_ate | www.regisatemengue.com
30
Software Process and Lifecycle
The Spiral Model
What’s Testing ?
Principles of Testing
@regis_ate | www.regisatemengue.com
32
What’s Testing ?
@regis_ate | www.regisatemengue.com
31
What’s Testing ?
Testing is the process of executing the program with the intent of finding faults.
As we know Software testing is the fourth phase of the software development life
cycle (SDLC). About 70% of development time is spent on testing
Testing is not a one-time event but a continuous process that begins in the early
stages of development and continues throughout the software’s life cycle.
@regis_ate | www.regisatemengue.com
34
Debbuging vs Testing
@regis_ate | www.regisatemengue.com
35
Debbuging vs Testing
@regis_ate | www.regisatemengue.com
36
Debbuging vs Testing
@regis_ate | www.regisatemengue.com
37
Debbuging vs Testing
@regis_ate | www.regisatemengue.com
38
Debbuging vs Testing
@regis_ate | www.regisatemengue.com
39
Debbuging vs Testing
@regis_ate | www.regisatemengue.com
40
Debbuging vs Testing
Remark
Please note that testing starts from the requirements analysis
phase only and goes until the last maintenance phase
@regis_ate | www.regisatemengue.com
41
What’s Software Testing ?
@regis_ate | www.regisatemengue.com
42
What’s Software Testing ?
@regis_ate | www.regisatemengue.com
43
What’s Software Testing ?
Testing is not:
@regis_ate | www.regisatemengue.com
45
Why Should We Test?
@regis_ate | www.regisatemengue.com
46
Why Should We Test?
Testing is necessary. why:
@regis_ate | www.regisatemengue.com
47
Why Should We Test?
Testing is necessary. why:
@regis_ate | www.regisatemengue.com
48
Why Should We Test?
Testing is necessary. why:
@regis_ate | www.regisatemengue.com
49
Why
WhyShould
ShouldWe
WeTest?
Test?
@regis_ate | www.regisatemengue.com
50
Principles of Testing
@regis_ate | www.regisatemengue.com
51
Principles of Testing
@regis_ate | www.regisatemengue.com
52
Principles of Testing
@regis_ate | www.regisatemengue.com
53
Principles of Testing
@regis_ate | www.regisatemengue.com
54
Principles of Testing
11. Prepare test reports including test cases and test results to
summarize the results of testing.
12. Advance test planning is a must and should be updated in a
timely manner.
@regis_ate | www.regisatemengue.com
55
Important Concepts Refresher
55
Important Concepts Refresher
Functional and non-functional requirements
Functional
Requirements
Non-Functional
Requirements
@regis_ate | www.regisatemengue.com
57
Important Concepts Refresher
Functional vs Non-functional
Functional Non-Functional
@regis_ate | www.regisatemengue.com
59
Important Concepts Refresher
Functionnals Requirement & Functional Testing
Test Pyramind
@regis_ate | www.regisatemengue.com 60
Important Concepts Refresher
Non Functionanl Requirement & Non functinal Testing
@regis_ate | www.regisatemengue.com
4
Important Concepts Refresher
Non Functionanl Requirement & Non functinal Testing
Performance testing involves testing the software’s performance
under various conditions, such as load, stress, and scalability.
Usability testing involves testing the software’s user interface and user
experience to ensure that it is user-friendly and easy to use.
@regis_ate | www.regisatemengue.com
16
Limitations of Testing
@regis_ate | www.regisatemengue.com
4