SlideShare une entreprise Scribd logo
1  sur  43
Télécharger pour lire hors ligne
Software Testing:
Test Cases
Software Testing
According to ANSI/IEEE 1059 standard:
“A process of analyzing a software item to detect the differences between existing
and required conditions (that is effects/errors/bugs) and to evaluate the features of
the software item.”
Software Testing
According to ANSI/IEEE 1059 standard:
“A process of analyzing a software item to detect the differences between existing
and required conditions (that is effects/errors/bugs) and to evaluate the features of
the software item.”
Software Testing
According to ANSI/IEEE 1059 standard:
“A process of analyzing a software item to detect the differences between existing
and required conditions (that is effects/errors/bugs) and to evaluate the features of
the software item.”
Software Testing Process
Test Plan & Test Scenario
Test Plan & Test Scenario
Testworthy
A test is testworthy if we think
the information we can get is
worth the time spending on it,
regardless of risks, requirements,
test approaches.
Decision Tree can be an useful
tool for test triage [S. Rober,
2004]
Testworthy
A test is testworthy if we think
the information we can get is
worth the time spending on it,
regardless of risks, requirements,
test approaches.
Decision Tree can be an useful
tool for test triage [S. Rober,
2004]
Testing Types
Testing Types
Non Functional Testing
Performance Testing[Adactin]
Non Functional Testing
Useful
Findable
AccessibleUsableDesirable
Usability Testing
Non Functional Testing
Security Testing [Enhops]
Vs
Manual Testing
TestCases
Formal Traceability Matrix
(Input) Pre-condition
(Output) Post-condition
Informal Scenario Testing
Test Plan
Coverage Methods Responsibilities
Manual Testing
TestCases
Formal Traceability Matrix
(Input) Pre-condition
(Output) Post-condition
Informal Scenario Testing
Test Plan
Coverage Methods Responsibilities
Traceability Matrix
A document, usually in the form of a
table, used to assist in determining the
completeness of a relationship by
correlating any two baselined documents
using a many-to-many relationship
comparison. [Gotel, Orlena 2012]
Each requirement is linked with its
associated test case so that testing can
be done as per the mentioned
requirements. Furthermore, Bug ID is
also included and linked with its
associated requirements and test case.
Automated Testing
Program Structural
Coverage Test
Model Based Test
Combinatorial Test
Adaptive Random Test
Search Based Test
Fuzzing
Mutation Testing
Test Automation
Frameworks
Module Based
Library Architecture
Data Driven
Keyword Driven
Hybrid Testing
Behavior Driven
Development
Automated Testing
Program Structural
Coverage Test
Model Based Test
Combinatorial Test
Adaptive Random Test
Search Based Test
Fuzzing
Mutation Testing
Test Automation
Frameworks
Module Based
Library Architecture
Data Driven
Keyword Driven
Hybrid Testing
Behavior Driven
Development
Infinite Monkey Theorem
“The infinite monkey theorem states that a monkey
hitting keys at random on a typewriter keyboard for
an infinite amount of time will almost surely type a
given text, such as the complete works of William
Shakespeare.” [Borel E. 1913]
Given infinite time, random input should produce all
possible output. The Infinite Monkey Theorem
translates to the idea that any problem can be solved,
with the input of sufficient resources and time.
Fuzzing
Input: invalid, unexpected, or random data
Monitored: for exceptions such as crashes, or
failing built-in code assertions or for finding
potential memory leaks.
Types:
 Generation-based or mutation-based:
whether inputs are generated from scratch or
by modifying existing inputs.
 Dumb or smart (Monkey): whether it is aware
of input structure or not.
 White, grey, or black-box: depending on
whether it is aware of program structure.
What Can be Fuzzed?
Anything that consumes complex (Structured) inputs:
● Parsers of any kind (xml, json, asn.1, pdf, truetype)
● Media codecs (audio, video, raster & vector images)
● Network protocols (HTTP, RPC, SMTP, MIME)
● Crypto (boringssl, openssl)
● Compression (zip, gzip, bzip2, brotli)
● Formatted output (sprintf, template engines)
● Compilers and interpreters (Javascript, PHP, Perl, Python, Go, Clang)
● Regular expression matchers (PCRE, RE2, libc’s regcomp)
● Text/UTF processing (icu)
● Databases (SQLite)
● Browsers, text editors/processors (Chrome, vim, OpenOffice)
● OS Kernels (Linux), drivers, supervisors and VMs
Must have for everything that consumes untrusted inputs, open to internet
or otherwise security sensitive.
Modern Fuzzers
Grammar-based generation
- Generate random inputs according to grammar rules
- Peach, packetdrill, csmith, gosmith, syzkaller
Blind mutation
- Requires a corpus of representative inputs, apply random mutations to them
- ZZUF, Radamsa
Grammar reverse-engineering
- Learn grammar from existing inputs using algorithmic approach of machine learning
- Sequitur algorithm, go-fuzz
Symbolic execution + SAT solver
- Synthesize inputs with maximum coverage using black magic
- KLEE
Coverage-guided fuzzers
- Genetic algorithm that strives to maximize code coverage
- libFuzzer, AFL, honggfuzz, syzkaller
Mutation Testing
The premise in mutation testing is that small changes are made in a module and
then the original and mutant modules are compared. [R. Lipton 1971]
Basic Assumption of Mutation Testing
1) Competent programmer hypothesis: The program to
be tested has been written by a competent programmer.
2) The Coupling Effect: The test data that distinguishes
all programs differing from a correct one by only simple
errors are so sensitive that they are also implicitly
distinguished more complex errors.
Mutant Generation
Source Code
Mutation Operator
The Mutant
Mutation
Process
Mutant Killing…
The MutantTest Suite Test Cases Killer
All Tests Run → The Mutant Survives
A Test Fails/Errors → The Mutant Killed
Mutant Killing…
The MutantTest Suite Test Cases Killer
All Tests Run → The Mutant Survives
A Test Fails/Errors → The Mutant Killed
Mutation Testing…
Source Code and Unit Tests Binary Code and Unit Tests
Mutation Testing…
A mutation, changing the original source code “270E”
on line number 10 into “41FC”. A mutant killed by one unit test.A mutant killed by many unit tests.
Mutation Testing…
A mutant surviving because of missing unit tests. An equivalent mutant
Mutation Testing in Practice
Advantages of Mutation Testing:
• Attain high coverage of the source program.
• Mutation testing brings a good level of error detection.
• This method uncovers ambiguities in the source code.
Disadvantages of Mutation Testing:
• Mutation testing is an extremely costly and
time-consuming process because all the programs
mutants should be separately generated.
• Totally automation dependent.
• Since this method involves changing the source code, it
is not applicable for the black box testing.
Mutation Testing as a part of TDD Workflow
If you have ever stood in line at the
grocery store, you can appreciate the
need for process improvement. In thi
s case, the "process" is called the ch
eck-out process, and the purpose of
the process is to pay for and bag yo
ur groceries. The process begins with
you stepping into line, and ends wit
h you receiving your receipt and leav
ing the store. You are the customer (
you have the money and you have c
ome to buy food), and the store is t
he supplier.
Improving business processes is para
mount for businesses to stay compet
itive in today's marketplace. Some ra
ndom texts are also included to mak
e this more paper like. In fact more
news paper like.
Over the last 10 to 15 years com
panies have been forced to impro
ve their business processes becau
se we, as customers, are demandi
ng better and better products an
d services. And if we do not recei
ve what we want from one suppli
er, we have many others to choos
e from (hence the competitive iss
ue for businesses). Many compani
es began business process impro
vement with a continuous improv
ement model. This model attempt
s to understand and measure the
current process, and make perfor
mance improvements accordingly.
This one seems ok but little bit tu
ning will make it better.
THE QA NEWS
Software Design – CAS (703) Enamul Haque
“Make something really stronger so that nothing can break it!”
7th December 2017
References
1) R. Lipton, “Fault Diagnosis of Computer Programs,” Student Report, Carnegie
Mellon University, 1971.
2) Richard A. DeMillo, Richard J. Lipton, and Fred G. Sayward. Hints on test data
selection: Help for the practicing programmer. IEEE Computer, 11(4):34-41. A
pr 1978
3) Adactin, Image: “Performance Testing”. n.d. Web 5 Dec 2017 http://www.adact
in.com/performance-testing/
4) Enhops, Image: “Security Testing”. n.d. Web 5 Dec 2017 http://www.enhops.c
om/security-testing
5) Guru99, Image: “Usability Testing”. n.d. Web 5 Dec 2017 https://www.guru99.c
om/usability-testing-tutorial.html
6) Traceability Matrix: Gotel, Orlena; Cleland-Huang, Jane; Hayes, Jane Huffman
; Zisman, Andrea; Egyed, Alexander; Grünbacher, Paul; Dekhtyar, Alex;
Antoniol, Giuliano; Maletic, Jonathan Cleland-Huang, Jane; Gotel, Orlena; Zis
man, Andrea, eds. Software and Systems Traceability. Springer London. pp. 3
–22. Jan 2012
References
7) Saswat Anand , Edmund K. Burke , Tsong Yueh Chen , John Clark , Myra B.
Cohen , Wolfgang Grieskamp , Mark Harman , Mary Jean Harrold , Phil
Mcminn, An orchestrated survey of methodologies for automated software
test case generation, Journal of Systems and Software, v.86 n.8,
p.1978-2001, Aug 2013
8) Robert Sabourin, What Not to Test, Better Software magazine November /
December 2004, Web http://www.amibugshare.com/articles/Article_What_No
t_To_Test.zip
9) Software Testing Help, “Test Automation Frameworks”, October 27, 2017
Web 5 Dec 2017 http://www.softwaretestinghelp.com/test-automation-framew
orks-selenium-tutorial-20/
10) Filip van Laenen, “Mutation Testing: Better code by making bugs”, Leanpub,
13 April 2016. Web ebook 5 Dec 2017 http://leanpub.com/mutationtesting
11) Christian Holler, “ADBFuzz – A Fuzz Testing Harness for Firefox Mobile
Mozilla”, 9 Mar 2012. Web Blog 5 Dec 2017 https://blog.mozilla.org/security/2
012/03/09/adbfuzz-a-fuzz-testing-harness-for-firefox-mobile/

Contenu connexe

Tendances

Software Design for Testability
Software Design for TestabilitySoftware Design for Testability
Software Design for Testabilityamr0mt
 
Static Analysis Primer
Static Analysis PrimerStatic Analysis Primer
Static Analysis PrimerCoverity
 
TDD (Test Driven Design)
TDD (Test Driven Design)TDD (Test Driven Design)
TDD (Test Driven Design)nedirtv
 
Adopting Agile
Adopting AgileAdopting Agile
Adopting AgileCoverity
 
Exploratory Testing in an Agile Context
Exploratory Testing in an Agile ContextExploratory Testing in an Agile Context
Exploratory Testing in an Agile ContextElisabeth Hendrickson
 
Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Mohamed Taman
 
Testing a GPS application | Testbytes
Testing a GPS application | TestbytesTesting a GPS application | Testbytes
Testing a GPS application | TestbytesTestbytes
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven DevelopmentDhaval Dalal
 
Strategies to Avoid Test Fixture Smells durin Software Evolution
Strategies to Avoid Test Fixture Smells durin Software EvolutionStrategies to Avoid Test Fixture Smells durin Software Evolution
Strategies to Avoid Test Fixture Smells durin Software EvolutionMichaela Greiler
 
Automated parameter optimization should be included in future 
defect predict...
Automated parameter optimization should be included in future 
defect predict...Automated parameter optimization should be included in future 
defect predict...
Automated parameter optimization should be included in future 
defect predict...Chakkrit (Kla) Tantithamthavorn
 
Joxean Koret - Interactive Static Analysis Tools for Vulnerability Discovery ...
Joxean Koret - Interactive Static Analysis Tools for Vulnerability Discovery ...Joxean Koret - Interactive Static Analysis Tools for Vulnerability Discovery ...
Joxean Koret - Interactive Static Analysis Tools for Vulnerability Discovery ...RootedCON
 
Can we induce change with what we measure?
Can we induce change with what we measure?Can we induce change with what we measure?
Can we induce change with what we measure?Michaela Greiler
 
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in FlexassertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flexmichael.labriola
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven DevelopmentMireia Sangalo
 
SSBSE 2020 keynote
SSBSE 2020 keynoteSSBSE 2020 keynote
SSBSE 2020 keynoteShiva Nejati
 

Tendances (20)

2014 toronto-torbug
2014 toronto-torbug2014 toronto-torbug
2014 toronto-torbug
 
Software Design for Testability
Software Design for TestabilitySoftware Design for Testability
Software Design for Testability
 
Static Analysis Primer
Static Analysis PrimerStatic Analysis Primer
Static Analysis Primer
 
TDD (Test Driven Design)
TDD (Test Driven Design)TDD (Test Driven Design)
TDD (Test Driven Design)
 
Adopting Agile
Adopting AgileAdopting Agile
Adopting Agile
 
Exploratory Testing in an Agile Context
Exploratory Testing in an Agile ContextExploratory Testing in an Agile Context
Exploratory Testing in an Agile Context
 
Formal method
Formal methodFormal method
Formal method
 
Dangerous decisions - Assumption traps
Dangerous decisions -  Assumption trapsDangerous decisions -  Assumption traps
Dangerous decisions - Assumption traps
 
Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.
 
Testing a GPS application | Testbytes
Testing a GPS application | TestbytesTesting a GPS application | Testbytes
Testing a GPS application | Testbytes
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Strategies to Avoid Test Fixture Smells durin Software Evolution
Strategies to Avoid Test Fixture Smells durin Software EvolutionStrategies to Avoid Test Fixture Smells durin Software Evolution
Strategies to Avoid Test Fixture Smells durin Software Evolution
 
Automated parameter optimization should be included in future 
defect predict...
Automated parameter optimization should be included in future 
defect predict...Automated parameter optimization should be included in future 
defect predict...
Automated parameter optimization should be included in future 
defect predict...
 
TDD Best Practices
TDD Best PracticesTDD Best Practices
TDD Best Practices
 
Joxean Koret - Interactive Static Analysis Tools for Vulnerability Discovery ...
Joxean Koret - Interactive Static Analysis Tools for Vulnerability Discovery ...Joxean Koret - Interactive Static Analysis Tools for Vulnerability Discovery ...
Joxean Koret - Interactive Static Analysis Tools for Vulnerability Discovery ...
 
Can we induce change with what we measure?
Can we induce change with what we measure?Can we induce change with what we measure?
Can we induce change with what we measure?
 
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in FlexassertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
SSBSE 2020 keynote
SSBSE 2020 keynoteSSBSE 2020 keynote
SSBSE 2020 keynote
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 

Similaire à Software testing

Google, quality and you
Google, quality and youGoogle, quality and you
Google, quality and younelinger
 
Combinatorial testing ppt
Combinatorial testing pptCombinatorial testing ppt
Combinatorial testing pptKedar Kumar
 
Combinatorial testing
Combinatorial testingCombinatorial testing
Combinatorial testingKedar Kumar
 
Software testing: an introduction - 2017
Software testing: an introduction - 2017Software testing: an introduction - 2017
Software testing: an introduction - 2017XavierDevroey
 
Testing Software Solutions
Testing Software SolutionsTesting Software Solutions
Testing Software Solutionsgavhays
 
Testing 2 - Thinking Like A Tester
Testing 2 - Thinking Like A TesterTesting 2 - Thinking Like A Tester
Testing 2 - Thinking Like A TesterArleneAndrews2
 
Software testing mtech project in jalandhar
Software testing mtech project in jalandharSoftware testing mtech project in jalandhar
Software testing mtech project in jalandhardeepikakaler1
 
Software testing mtech project in ludhiana
Software testing mtech project in ludhianaSoftware testing mtech project in ludhiana
Software testing mtech project in ludhianadeepikakaler1
 
Machine programming
Machine programmingMachine programming
Machine programmingDESMOND YUEN
 
Eric Proegler Early Performance Testing from CAST2014
Eric Proegler Early Performance Testing from CAST2014Eric Proegler Early Performance Testing from CAST2014
Eric Proegler Early Performance Testing from CAST2014Eric Proegler
 
A beginners guide to testing
A beginners guide to testingA beginners guide to testing
A beginners guide to testingPhilip Johnson
 
Automated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsAutomated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsQuontra Solutions
 
12 sdd lesson testing and evaluating
12 sdd lesson testing and evaluating12 sdd lesson testing and evaluating
12 sdd lesson testing and evaluatingMike Cusack
 
Enabling Automated Software Testing with Artificial Intelligence
Enabling Automated Software Testing with Artificial IntelligenceEnabling Automated Software Testing with Artificial Intelligence
Enabling Automated Software Testing with Artificial IntelligenceLionel Briand
 
Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Gurpreet singh
 
Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009Grig Gheorghiu
 

Similaire à Software testing (20)

Google, quality and you
Google, quality and youGoogle, quality and you
Google, quality and you
 
Combinatorial testing ppt
Combinatorial testing pptCombinatorial testing ppt
Combinatorial testing ppt
 
Combinatorial testing
Combinatorial testingCombinatorial testing
Combinatorial testing
 
Software testing: an introduction - 2017
Software testing: an introduction - 2017Software testing: an introduction - 2017
Software testing: an introduction - 2017
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Testing Software Solutions
Testing Software SolutionsTesting Software Solutions
Testing Software Solutions
 
Testing 2 - Thinking Like A Tester
Testing 2 - Thinking Like A TesterTesting 2 - Thinking Like A Tester
Testing 2 - Thinking Like A Tester
 
Software testing mtech project in jalandhar
Software testing mtech project in jalandharSoftware testing mtech project in jalandhar
Software testing mtech project in jalandhar
 
Software testing mtech project in ludhiana
Software testing mtech project in ludhianaSoftware testing mtech project in ludhiana
Software testing mtech project in ludhiana
 
Machine programming
Machine programmingMachine programming
Machine programming
 
Eric Proegler Early Performance Testing from CAST2014
Eric Proegler Early Performance Testing from CAST2014Eric Proegler Early Performance Testing from CAST2014
Eric Proegler Early Performance Testing from CAST2014
 
A beginners guide to testing
A beginners guide to testingA beginners guide to testing
A beginners guide to testing
 
Software testing overview subbu
Software testing overview subbuSoftware testing overview subbu
Software testing overview subbu
 
Automated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsAutomated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra Solutions
 
12 sdd lesson testing and evaluating
12 sdd lesson testing and evaluating12 sdd lesson testing and evaluating
12 sdd lesson testing and evaluating
 
Enabling Automated Software Testing with Artificial Intelligence
Enabling Automated Software Testing with Artificial IntelligenceEnabling Automated Software Testing with Artificial Intelligence
Enabling Automated Software Testing with Artificial Intelligence
 
TDD Workshop UTN 2012
TDD Workshop UTN 2012TDD Workshop UTN 2012
TDD Workshop UTN 2012
 
Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2
 
Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009Agile Testing Pasadena JUG Aug2009
Agile Testing Pasadena JUG Aug2009
 
Software testing
Software testingSoftware testing
Software testing
 

Dernier

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 

Dernier (20)

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 

Software testing

  • 2.
  • 3.
  • 4. Software Testing According to ANSI/IEEE 1059 standard: “A process of analyzing a software item to detect the differences between existing and required conditions (that is effects/errors/bugs) and to evaluate the features of the software item.”
  • 5. Software Testing According to ANSI/IEEE 1059 standard: “A process of analyzing a software item to detect the differences between existing and required conditions (that is effects/errors/bugs) and to evaluate the features of the software item.”
  • 6. Software Testing According to ANSI/IEEE 1059 standard: “A process of analyzing a software item to detect the differences between existing and required conditions (that is effects/errors/bugs) and to evaluate the features of the software item.”
  • 8. Test Plan & Test Scenario
  • 9. Test Plan & Test Scenario
  • 10. Testworthy A test is testworthy if we think the information we can get is worth the time spending on it, regardless of risks, requirements, test approaches. Decision Tree can be an useful tool for test triage [S. Rober, 2004]
  • 11. Testworthy A test is testworthy if we think the information we can get is worth the time spending on it, regardless of risks, requirements, test approaches. Decision Tree can be an useful tool for test triage [S. Rober, 2004]
  • 12.
  • 18. Vs
  • 19.
  • 20. Manual Testing TestCases Formal Traceability Matrix (Input) Pre-condition (Output) Post-condition Informal Scenario Testing Test Plan Coverage Methods Responsibilities
  • 21. Manual Testing TestCases Formal Traceability Matrix (Input) Pre-condition (Output) Post-condition Informal Scenario Testing Test Plan Coverage Methods Responsibilities
  • 22. Traceability Matrix A document, usually in the form of a table, used to assist in determining the completeness of a relationship by correlating any two baselined documents using a many-to-many relationship comparison. [Gotel, Orlena 2012] Each requirement is linked with its associated test case so that testing can be done as per the mentioned requirements. Furthermore, Bug ID is also included and linked with its associated requirements and test case.
  • 23.
  • 24. Automated Testing Program Structural Coverage Test Model Based Test Combinatorial Test Adaptive Random Test Search Based Test Fuzzing Mutation Testing Test Automation Frameworks Module Based Library Architecture Data Driven Keyword Driven Hybrid Testing Behavior Driven Development
  • 25. Automated Testing Program Structural Coverage Test Model Based Test Combinatorial Test Adaptive Random Test Search Based Test Fuzzing Mutation Testing Test Automation Frameworks Module Based Library Architecture Data Driven Keyword Driven Hybrid Testing Behavior Driven Development
  • 26.
  • 27. Infinite Monkey Theorem “The infinite monkey theorem states that a monkey hitting keys at random on a typewriter keyboard for an infinite amount of time will almost surely type a given text, such as the complete works of William Shakespeare.” [Borel E. 1913] Given infinite time, random input should produce all possible output. The Infinite Monkey Theorem translates to the idea that any problem can be solved, with the input of sufficient resources and time.
  • 28. Fuzzing Input: invalid, unexpected, or random data Monitored: for exceptions such as crashes, or failing built-in code assertions or for finding potential memory leaks. Types:  Generation-based or mutation-based: whether inputs are generated from scratch or by modifying existing inputs.  Dumb or smart (Monkey): whether it is aware of input structure or not.  White, grey, or black-box: depending on whether it is aware of program structure.
  • 29. What Can be Fuzzed? Anything that consumes complex (Structured) inputs: ● Parsers of any kind (xml, json, asn.1, pdf, truetype) ● Media codecs (audio, video, raster & vector images) ● Network protocols (HTTP, RPC, SMTP, MIME) ● Crypto (boringssl, openssl) ● Compression (zip, gzip, bzip2, brotli) ● Formatted output (sprintf, template engines) ● Compilers and interpreters (Javascript, PHP, Perl, Python, Go, Clang) ● Regular expression matchers (PCRE, RE2, libc’s regcomp) ● Text/UTF processing (icu) ● Databases (SQLite) ● Browsers, text editors/processors (Chrome, vim, OpenOffice) ● OS Kernels (Linux), drivers, supervisors and VMs Must have for everything that consumes untrusted inputs, open to internet or otherwise security sensitive.
  • 30. Modern Fuzzers Grammar-based generation - Generate random inputs according to grammar rules - Peach, packetdrill, csmith, gosmith, syzkaller Blind mutation - Requires a corpus of representative inputs, apply random mutations to them - ZZUF, Radamsa Grammar reverse-engineering - Learn grammar from existing inputs using algorithmic approach of machine learning - Sequitur algorithm, go-fuzz Symbolic execution + SAT solver - Synthesize inputs with maximum coverage using black magic - KLEE Coverage-guided fuzzers - Genetic algorithm that strives to maximize code coverage - libFuzzer, AFL, honggfuzz, syzkaller
  • 31.
  • 32. Mutation Testing The premise in mutation testing is that small changes are made in a module and then the original and mutant modules are compared. [R. Lipton 1971] Basic Assumption of Mutation Testing 1) Competent programmer hypothesis: The program to be tested has been written by a competent programmer. 2) The Coupling Effect: The test data that distinguishes all programs differing from a correct one by only simple errors are so sensitive that they are also implicitly distinguished more complex errors.
  • 33. Mutant Generation Source Code Mutation Operator The Mutant Mutation Process
  • 34. Mutant Killing… The MutantTest Suite Test Cases Killer All Tests Run → The Mutant Survives A Test Fails/Errors → The Mutant Killed
  • 35. Mutant Killing… The MutantTest Suite Test Cases Killer All Tests Run → The Mutant Survives A Test Fails/Errors → The Mutant Killed
  • 36. Mutation Testing… Source Code and Unit Tests Binary Code and Unit Tests
  • 37. Mutation Testing… A mutation, changing the original source code “270E” on line number 10 into “41FC”. A mutant killed by one unit test.A mutant killed by many unit tests.
  • 38. Mutation Testing… A mutant surviving because of missing unit tests. An equivalent mutant
  • 39. Mutation Testing in Practice Advantages of Mutation Testing: • Attain high coverage of the source program. • Mutation testing brings a good level of error detection. • This method uncovers ambiguities in the source code. Disadvantages of Mutation Testing: • Mutation testing is an extremely costly and time-consuming process because all the programs mutants should be separately generated. • Totally automation dependent. • Since this method involves changing the source code, it is not applicable for the black box testing. Mutation Testing as a part of TDD Workflow
  • 40.
  • 41. If you have ever stood in line at the grocery store, you can appreciate the need for process improvement. In thi s case, the "process" is called the ch eck-out process, and the purpose of the process is to pay for and bag yo ur groceries. The process begins with you stepping into line, and ends wit h you receiving your receipt and leav ing the store. You are the customer ( you have the money and you have c ome to buy food), and the store is t he supplier. Improving business processes is para mount for businesses to stay compet itive in today's marketplace. Some ra ndom texts are also included to mak e this more paper like. In fact more news paper like. Over the last 10 to 15 years com panies have been forced to impro ve their business processes becau se we, as customers, are demandi ng better and better products an d services. And if we do not recei ve what we want from one suppli er, we have many others to choos e from (hence the competitive iss ue for businesses). Many compani es began business process impro vement with a continuous improv ement model. This model attempt s to understand and measure the current process, and make perfor mance improvements accordingly. This one seems ok but little bit tu ning will make it better. THE QA NEWS Software Design – CAS (703) Enamul Haque “Make something really stronger so that nothing can break it!” 7th December 2017
  • 42. References 1) R. Lipton, “Fault Diagnosis of Computer Programs,” Student Report, Carnegie Mellon University, 1971. 2) Richard A. DeMillo, Richard J. Lipton, and Fred G. Sayward. Hints on test data selection: Help for the practicing programmer. IEEE Computer, 11(4):34-41. A pr 1978 3) Adactin, Image: “Performance Testing”. n.d. Web 5 Dec 2017 http://www.adact in.com/performance-testing/ 4) Enhops, Image: “Security Testing”. n.d. Web 5 Dec 2017 http://www.enhops.c om/security-testing 5) Guru99, Image: “Usability Testing”. n.d. Web 5 Dec 2017 https://www.guru99.c om/usability-testing-tutorial.html 6) Traceability Matrix: Gotel, Orlena; Cleland-Huang, Jane; Hayes, Jane Huffman ; Zisman, Andrea; Egyed, Alexander; Grünbacher, Paul; Dekhtyar, Alex; Antoniol, Giuliano; Maletic, Jonathan Cleland-Huang, Jane; Gotel, Orlena; Zis man, Andrea, eds. Software and Systems Traceability. Springer London. pp. 3 –22. Jan 2012
  • 43. References 7) Saswat Anand , Edmund K. Burke , Tsong Yueh Chen , John Clark , Myra B. Cohen , Wolfgang Grieskamp , Mark Harman , Mary Jean Harrold , Phil Mcminn, An orchestrated survey of methodologies for automated software test case generation, Journal of Systems and Software, v.86 n.8, p.1978-2001, Aug 2013 8) Robert Sabourin, What Not to Test, Better Software magazine November / December 2004, Web http://www.amibugshare.com/articles/Article_What_No t_To_Test.zip 9) Software Testing Help, “Test Automation Frameworks”, October 27, 2017 Web 5 Dec 2017 http://www.softwaretestinghelp.com/test-automation-framew orks-selenium-tutorial-20/ 10) Filip van Laenen, “Mutation Testing: Better code by making bugs”, Leanpub, 13 April 2016. Web ebook 5 Dec 2017 http://leanpub.com/mutationtesting 11) Christian Holler, “ADBFuzz – A Fuzz Testing Harness for Firefox Mobile Mozilla”, 9 Mar 2012. Web Blog 5 Dec 2017 https://blog.mozilla.org/security/2 012/03/09/adbfuzz-a-fuzz-testing-harness-for-firefox-mobile/