Date post: | 14-Apr-2018 |
Category: |
Documents |
Upload: | kishore-chand |
View: | 235 times |
Download: | 0 times |
of 30
7/27/2019 Software Testing Fundamentals - 1 New
1/30
109
207
246
Dark 1
255
255
255
Light 1
131
56
155
Dark 2
0
99
190
Light 2
85
165
28
Accent 1
214
73
42
Accent 2
185
175
164
Accent 3
151
75
7
Accent 4
193
187
0
Accent 5
255
221
62
Accent 6
255
255
255
Hyperlink
236
137
29
Followed
Hyperlink
127
175
221
Tata Blue 50%
203
215
238
Tata Blue 25%
179
149
197
Purple 50 %
212
195
223
Purple 25 %
255
242
171
Yellow 50 %
255
249
213
Yellow 25 %
229
205
186
Brown 50 %
248
241
235
Brown 25 %
180
213
154
Green 50 %
214
231
200
Green 25 %
241
240
202
Light Green 50%
251
251
241
Light Green 25%
Title and Content
7/27/2019 Software Testing Fundamentals - 1 New
2/30
Objective:To enable associates to get an overview on Software Testing and Careers in Testing
Target Audience: Associate should have very basic knowledge on Testing.
Expected Duration: 2 hours
7/27/2019 Software Testing Fundamentals - 1 New
3/30
Topics covered in this course are:
Evolution of software engineering
Need of Testing
Goal of Testing
Understanding Software Testing
7/27/2019 Software Testing Fundamentals - 1 New
4/30
Software Engineering is the application of a systematic, disciplined, quantifiableapproach to the development, operation, and maintenance of software
The term Software Engineering was first used at a 1968 NATO
workshop in West Germany. It focused on the then growing software
crisis on factors like
High development costs
Poor reliability
Lack of user acceptance
Impossible to maintain
Surprising to learn that these issues were raised long back in 1968...!
7/27/2019 Software Testing Fundamentals - 1 New
5/30
Complexity of software makes it error prone
Untested or weakly tested software can cause losses in real life. Eg:
Disneys Lion King 1994 1995- The software did not work onthe most common systems that the public had.
Intel Pentium Floating-Point Division Bug 1994 Intel took acharge of more than $400 million to cover the costs of replacingbad chips
NASA Mars Polar Lander 1999 Malfunction due to anunexpected setting of a single data bit
Patriot missile defense system 1991 A software bug caused
the tracking system to be inaccurate after 14 hrs of operation
7/27/2019 Software Testing Fundamentals - 1 New
6/30
A defect in the software has a root cause, while the effect of defect is
seen as impact by the different stake holders.
Testing is part of overall Quality Assurance It covers the QualityControl aspect of ensuring Quality
An anomaly in the software is called a bug or a defect. it may or may notlead to a failure during the usage of the software
Software testing may be required for compliance with contractual orlegal requirements
When is testing complete?
Actually never
However for practical reasons it is stopped after considering therisks involved, time and budget constraints
Testing should provide sufficient information to the stake holders for decision makingregarding release of the software/ system , for the next development step or handoverto customers
7/27/2019 Software Testing Fundamentals - 1 New
7/30
Common objectives of testing
The goal of a software tester is:
To find bugs
To find them as early as possible
& make sure they get fixed
Testing is a means to:
Find bugs
Provide confidence and information
Even prevent defects
7/27/2019 Software Testing Fundamentals - 1 New
8/30
In 1950s -Machine languages -Testing was nothing butdebugging
In 1960s-compilers were developed,
Testing , a separate activity fromdebugging
In 1970s, -software engineering concepts
Testing evolved as a technicaldiscipline
There was a growing concern about the quality but what was the attitudetowards Software Testing?
Over the last two decades the attitude towards Software Testingunderwent a major positive change and there has been an increasingfocus on better, faster and cost-effective software
Testing
Debugging
7/27/2019 Software Testing Fundamentals - 1 New
9/30
Testing is the process of executing a program with the intent of findingerrors -Myers
Quality Control (QC) is Testing the software or product for its intendedbehavior.
Quality Assurance (QA) Testing the processes involved in developing andtesting the software or product
Verification is to establish the truth of correspondence between a software
product and its specification.
Validation is to establish the fitness or worth of a software product forits operational mission - Barry Boehm
Verification Are we building the product right?Validation Are we building the right product?
7/27/2019 Software Testing Fundamentals - 1 New
10/30
1.Testing the software or product for its intended behavior is
a) Quality Assuranceb) Quality Control
c) Verification
d) Validation
7/27/2019 Software Testing Fundamentals - 1 New
11/30
2.Goal of Testing is to
a) Stand against Developerb) To find Bugs
c) Writing code
d) Interaction with Customer
7/27/2019 Software Testing Fundamentals - 1 New
12/30
Testers mindset
7/27/2019 Software Testing Fundamentals - 1 New
13/30
Qualities of Good Tester
Testing Principles
7/27/2019 Software Testing Fundamentals - 1 New
14/30
The testers mindset must have the below mentioned attributes
Keen Observat ion
A tester should just not concern only about the test input and the expected output. Heshould have a keen observation on the functioning of the application under test. Onlythen he can think and test all possible test conditions that may not planned as part of
test designing.
Quest ioning Ski l ls
Another most important aspect for a good tester should be the questioning skills. Thetester should not restrict him/her to simply verifying the functional specifications instead,start questioning the behavior of the application on every test condition. In that way, the
application can be verified against the given functional specifications as well as providesome really better suggestions on the applications functionality. After all an independent
tester is more like the end-user of the application and it is more important to testwhether the application is user-friendly in all ways.
7/27/2019 Software Testing Fundamentals - 1 New
15/30
Never give-up
Sometimes, in the first run of the test execution, no defects might be encountered. But asa tester, he/she should develop the Never give-up attitude and try to find alternativeways to unearth any possible defects. It would be very rare that the software isdeveloped defect-free!
Interpersonal Ski l ls
The challenge for a tester does not end with finding the defect and reporting it. He/Shehas to maintain good relationship with the development team and good interpersonalskills helps in early defect acknowledgment by the development team which is essentialfor defect fixing and closure
7/27/2019 Software Testing Fundamentals - 1 New
16/30
Testing shows presence of defects , not its absence
Testing can show that defects are present, but cannot prove that there are nodefects. Testing reduces the probability of undiscovered defects remaining in thesoftware but, even if no defects are found, it is not a proof of correctness
Exhaustive Testing is impossible
Testing everything (all combinations of inputs and preconditions) is not
feasible except for trivial cases. Instead of exhaustive testing, risk analysis andpriorities should be used to focus testing efforts.
Early TestingTesting activities should start as early as possible and should be focused on
defined objectives.
Defect ClusteringA small number of modules contain most of the defects discovered during pre-
release testing, or are responsible for the most operational failures.
7/27/2019 Software Testing Fundamentals - 1 New
17/30
Pesticide Paradox
If the same tests are repeated over and over again, eventually the same set of testcases will no longer find any new defects. To overcome this pesticide paradox, the testcases need to be regularly reviewed and revised.
Testing is context dependent
Testing is done differently in different contexts. For example, safety-critical software istested differently from an e-commerce site.
Absence-of-errors fallacy
Finding and fixing defects does not help if the system built is unusable and does notfulfill the users need.
7/27/2019 Software Testing Fundamentals - 1 New
18/30
1. Testing all combinations of inputs and outputs is
a) Early Testing
b) Defect Clustering
c) Exhaustive Testing
d) Static Testing
7/27/2019 Software Testing Fundamentals - 1 New
19/30
2. Defect Clustering is
a) small number of modules containing most of the defects
b) Finding and Fixing defects
c) Testing as Early as possible
d) Testing all Combinations
7/27/2019 Software Testing Fundamentals - 1 New
20/30
3. A good tester must have
i)Keen Observation, (ii) Questioning Skills (iii) Never Give-up attitude
a) Only (I)
b) Only (i) and (ii)
c) Only (ii) and (iii)
d) All (i),(ii) and (iii)
7/27/2019 Software Testing Fundamentals - 1 New
21/30
Testing Career stream
7/27/2019 Software Testing Fundamentals - 1 New
22/30
Test
Lead
Testers
Test Analyst
Test Automation
Developers
Test
Strategist
Business
Analyst
Test
Solution
Architect
Senior
Business
Analyst
Test
Manager
Test
Consultant
Domain
Consultant
Test Center
Delivery
Manager
Test Automation
Engineer
Test Automation
Architect
Test Automation
Manager
Test Automation
Consultant
Management Stream
Programmers
6-12
yrs
4-6y
rs
1-3y
rs
0-1-yr
3-4y
rs
Project
Lead
Project
Manager
Group
Leader
Module Lead
Business
Analyst
Senior
Business
Analyst
Domain
Consultant
Solution
Architect
Delivery
Manager
Testing StreamDevelopment Stream
7/27/2019 Software Testing Fundamentals - 1 New
23/30
Test Engineer
Execute test cases as per test plans and log defectsWork closely with Test Lead / Analyst to achieve desired objectives
Test Analyst
Develop Test Cases, Test Scripts and Test Data
Prepare traceability matrix
Work closely with Testing team to achieve the desired test result Test Lead
Develop and manage Test Plans
Monitor test execution and track defects
Establish Testing Environment, processes and implement methodologies
Report status of testing and co-ordinate with end-users, testers and test manager
Test Manager
Develop test strategy
Planning, effort estimation, resource management and training
Manage and deliver the Testing team activities
Establish, track and improve process efficiencies
Roles:
7/27/2019 Software Testing Fundamentals - 1 New
24/30
Test Automation Engineer
Prepare test automation design based on the test automation architecture and
framework defined for the projectDefine standards and guidelines for automation
Test Strategist
Design testing framework including automated testing
Review testing deliverable
Analyze testing tools and recommend for use
Define test strategy
Define Metrics
Test Process Consultant
Assess testing processes and recommend improvement action plan
Assess test automation feasibility
Prepare assessment plan and coordinate with the project/programstakeholders
7/27/2019 Software Testing Fundamentals - 1 New
25/30
Test CoE Lead
Training and competency development
Standardize process and methodologyMaintain knowledge repository
Produce reporting metrics for higher management and customer
Business Analyst
Prepare high level test scenarios based on business scenarios andrequirements
Analyze requirements for accuracy and completeness from a businessperspective
Review high level test scenarios prepared
Test Consultant
Assess testing processes and recommend improvement action plan
Prepare assessment plan and coordinate with the project/programmestakeholders
Pre-sales/ business development
7/27/2019 Software Testing Fundamentals - 1 New
26/30
Test Automation Consultant
Automation feasibility analysis and tool evaluation
Automation approach and roadmapPre-sales/ business development
Creation of assets
Product review/ keep abreast of developments in product space
Test Center Delivery ManagerEnd-to-end management of testing delivery for multiple projects / initiatives
Identify and monitor issues, risks and concerns at test centre level
Reporting to Customer Management
Establish Client expectations
7/27/2019 Software Testing Fundamentals - 1 New
27/30
Summary- Software Testing
It has become inevitable for every software development project to have anindependent testing team to do the constructive destruction of the software
developed.
Software Testing is the validation and refinement process of the SoftwareEngineering discipline.
Over the recent years the attitude towards software testing as a separatetechnical discipline has changed a lot in its favour leading to its acceptance
as an investment that yields a better ROI.
7/27/2019 Software Testing Fundamentals - 1 New
28/30
1. Executing Test case as per test plans is the role of
a) Test Engineer
b) Test lead
c) Test Analyst
d) Test Manager
7/27/2019 Software Testing Fundamentals - 1 New
29/30
2. The role of BA (Business Analyst) is to
a) Establish Client expectations
b) Prepare high level test scenarios and review
c) Create Assets
d) Write test case
Title and Content
7/27/2019 Software Testing Fundamentals - 1 New
30/30
109
207
246
Dark 1
255
255
255
Light 1
131
56
155
Dark 2
0
99
190
Light 2
85
165
28
Accent 1
214
73
42
Accent 2
185
175
164
Accent 3
151
75
7
Accent 4
193
187
0
Accent 5
255
221
62
Accent 6
255
255
255
Hyperlink
236
137
29
Followed
Hyperlink
127
175
221
Tata Blue 50%
203
215
238
Tata Blue 25%
179
149
197
Purple 50 %
212
195
223
Purple 25 %
255
242
171
Yellow 50 %
255
249
213
Yellow 25 %
229
205
186
Brown 50 %
248
241
235
Brown 25 %
180
213
154
Green 50 %
214
231
200
Green 25 %
241
240
202
Light Green 50%
251
251
241
Light Green 25%
Title and Content
Thank you