The document discusses various topics related to software testing including types of software testing, testing roles, and state diagrams. It provides information on unit testing, integration testing, system testing, and other types of testing. It also describes roles like testers, test designers, and test leads. Finally, it introduces state diagrams and how they can be used to derive test cases by modeling different system states and transitions between states.
6months industrial training in software testing, ludhianadeepikakaler1
E2matrix offer our assistance, writing and consulting services with your research assignments particularly in the areas of thesis, dissertations, journals, online forum discussions, FYP, and so on.
We also provide training for the different technologies and are involved in a wide diversity of subject areas ranging from management,engineering up to programming and designs; and our team of research experts and professional consultants are readily available to help you towards your successful completion of your assignments.
Engage us today at our e2matrixphagwara@gmail.com
jalandhare2matrix@gmail.com
and can visit our web site-www.e2matrix.com
contact us-7508509709
07508509730
6months industrial training in software testing, jalandhardeepikakaler1
E2marix is leading Training & Certification Company offering Corporate Training Programs, IT Education Courses in diversified areas.Since its inception, E2matrix educational Services have trained and certified many students and professionals.
TECHNOLOGIES PROVIDED -
MATLAB
NS2
IMAGE PROCESSING
.NET
SOFTWARE TESTING
DATA MINING
NEURAL networks
HFSS
WEKA
ANDROID
CLOUD computing
COMPUTER NETWORKS
FUZZY LOGIC
ARTIFICIAL INTELLIGENCE
LABVIEW
EMBEDDED
VLSI
Address
Opp. Phagwara Bus Stand, Above Bella
Pizza, Handa City Center, Phagwara
email-e2matrixphagwara@gmail.com
jalandhare2matrix@gmail.com
Web site-www.e2matrix.com
CONTACT NUMBER --
07508509730
09041262727
7508509709
6 weeks summer training in software testing,ludhianadeepikakaler1
E2matrix offer our assistance, writing and consulting services with your research assignments particularly in the areas of thesis, dissertations, journals, online forum discussions, FYP, and so on.
We also provide training for the different technologies and are involved in a wide diversity of subject areas ranging from management,engineering up to programming and designs; and our team of research experts and professional consultants are readily available to help you towards your successful completion of your assignments.
Engage us today at our e2matrixphagwara@gmail.com
jalandhare2matrix@gmail.com
and can visit our web site-www.e2matrix.com
contact us-7508509709
07508509730
6 weeks summer training in software testing,jalandhardeepikakaler1
E2marix is leading Training & Certification Company offering Corporate Training Programs, IT Education Courses in diversified areas.Since its inception, E2matrix educational Services have trained and certified many students and professionals.
TECHNOLOGIES PROVIDED -
MATLAB
NS2
IMAGE PROCESSING
.NET
SOFTWARE TESTING
DATA MINING
NEURAL networks
HFSS
WEKA
ANDROID
CLOUD computing
COMPUTER NETWORKS
FUZZY LOGIC
ARTIFICIAL INTELLIGENCE
LABVIEW
EMBEDDED
VLSI
Address
Opp. Phagwara Bus Stand, Above Bella
Pizza, Handa City Center, Phagwara
email-e2matrixphagwara@gmail.com
jalandhare2matrix@gmail.com
Web site-www.e2matrix.com
CONTACT NUMBER --
07508509730
09041262727
7508509709
6months industrial training in software testing, ludhianadeepikakaler1
E2matrix offer our assistance, writing and consulting services with your research assignments particularly in the areas of thesis, dissertations, journals, online forum discussions, FYP, and so on.
We also provide training for the different technologies and are involved in a wide diversity of subject areas ranging from management,engineering up to programming and designs; and our team of research experts and professional consultants are readily available to help you towards your successful completion of your assignments.
Engage us today at our e2matrixphagwara@gmail.com
jalandhare2matrix@gmail.com
and can visit our web site-www.e2matrix.com
contact us-7508509709
07508509730
6months industrial training in software testing, jalandhardeepikakaler1
E2marix is leading Training & Certification Company offering Corporate Training Programs, IT Education Courses in diversified areas.Since its inception, E2matrix educational Services have trained and certified many students and professionals.
TECHNOLOGIES PROVIDED -
MATLAB
NS2
IMAGE PROCESSING
.NET
SOFTWARE TESTING
DATA MINING
NEURAL networks
HFSS
WEKA
ANDROID
CLOUD computing
COMPUTER NETWORKS
FUZZY LOGIC
ARTIFICIAL INTELLIGENCE
LABVIEW
EMBEDDED
VLSI
Address
Opp. Phagwara Bus Stand, Above Bella
Pizza, Handa City Center, Phagwara
email-e2matrixphagwara@gmail.com
jalandhare2matrix@gmail.com
Web site-www.e2matrix.com
CONTACT NUMBER --
07508509730
09041262727
7508509709
6 weeks summer training in software testing,ludhianadeepikakaler1
E2matrix offer our assistance, writing and consulting services with your research assignments particularly in the areas of thesis, dissertations, journals, online forum discussions, FYP, and so on.
We also provide training for the different technologies and are involved in a wide diversity of subject areas ranging from management,engineering up to programming and designs; and our team of research experts and professional consultants are readily available to help you towards your successful completion of your assignments.
Engage us today at our e2matrixphagwara@gmail.com
jalandhare2matrix@gmail.com
and can visit our web site-www.e2matrix.com
contact us-7508509709
07508509730
6 weeks summer training in software testing,jalandhardeepikakaler1
E2marix is leading Training & Certification Company offering Corporate Training Programs, IT Education Courses in diversified areas.Since its inception, E2matrix educational Services have trained and certified many students and professionals.
TECHNOLOGIES PROVIDED -
MATLAB
NS2
IMAGE PROCESSING
.NET
SOFTWARE TESTING
DATA MINING
NEURAL networks
HFSS
WEKA
ANDROID
CLOUD computing
COMPUTER NETWORKS
FUZZY LOGIC
ARTIFICIAL INTELLIGENCE
LABVIEW
EMBEDDED
VLSI
Address
Opp. Phagwara Bus Stand, Above Bella
Pizza, Handa City Center, Phagwara
email-e2matrixphagwara@gmail.com
jalandhare2matrix@gmail.com
Web site-www.e2matrix.com
CONTACT NUMBER --
07508509730
09041262727
7508509709
Now to answer, “What is Testing?” we can go by the famous definition of Myers, which says, “Testing is the process of executing a program with the intent of finding errors”
Chapter 10 Testing and Quality Assurance1Unders.docxketurahhazelhurst
Chapter 10:
Testing and Quality
Assurance
1
Understand quality & basic techniques for software verification and validation.
Analyze basics of software testing and testing techniques.
Discuss the concept of “inspection” process.
Objectives
2
Quality assurance (QA): activities designed
to measure and improve quality in a product— and process.
Quality control (QC): activities designed to validate and verify the quality of the product through detecting faults and “fixing” the defects.
Need good techniques, process, tools,
and team.
Testing Introduction
similar
3
Two traditional definitions:
Conforms to requirements.
Fit to use.
Verification: checking software conforms to
its requirements (did the software evolve
from the requirements properly; does the software “work”?)
Is the system correct?
Validation: checking software meets user requirements (fit to use)
Are we building the correct system?
What Is “Quality”?
4
Testing: executing program in a controlled environment and “verifying/validating” output.
Inspections and reviews.
Formal methods (proving software correct).
Static analysis detects “error-prone conditions.”
Some “Error-Detection” Techniques (finding errors)
5
Error: a mistake made by a programmer or software engineer that caused the fault, which in turn may cause a failure
Fault (defect, bug): condition that may cause a failure in the system
Failure (problem): inability of system to perform a function according to its spec due to some fault
Fault or failure/problem severity (based on consequences)
Fault or failure/problem priority (based on importance of developing a fix, which is in turn based
on severity)
Faults and Failures
6
Activity performed for:
Evaluating product quality
Improving products by identifying defects and having them fixed prior to software release
Dynamic (running-program) verification of program’s behavior on a finite set of test cases selected from execution domain.
Testing can NOT prove product works 100%—even though we use testing to demonstrate that parts of the software works.
Testing
Not always
done!
7
Who tests?
Programmers
Testers/Req. Analyst
Users
What is tested?
Unit code testing
Functional code testing
Integration/system testing
User interface testing
Testing (cont.)
Why test?
Acceptance (customer)
Conformance (std, laws, etc.)
Configuration (user vs. dev.)
Performance, stress, security, etc.
How (test cases designed)?
Intuition
Specification based (black box)
Code based (white box)
Existing cases (regression)
8
Progression of Testing
Equivalence Class Partitioning
Divide the input into several groups, deemed “equivalent” for purposes of finding errors.
Pick one “representative” for each class used for testing.
Equivalence classes determined by req./design specifications and some intuition
Example: pick “larger” of
two integers and . . .
Lessen duplication.
Complete coverage.
10
Suppose we have n distinct functional requirements.
Su ...
Software testing mtech project in jalandhardeepikakaler1
E2MATRIX PROVIDE EXPERT GUIDANCE FOR THESIS & PROJECT FOR M.TECH. / PHD / B.TECH. STUDENTS. MTECH THESIS/ IEEE PROJECT GUIDANCE / PHD THESIS. GENUINE THESIS / PROJECT WORK BY THE EXPERT FACULTY/ DEVELOPERS. DOMAINS / TECHNOLOGIES - MATLAB NS2 IMAGE PROCESSING .NET WIRELESS COMMUNICATION DATA MINING NEURAL NETWORKS HFSS / IE3D ANTENNA WEKA ANDROID CLOUD COMPUTING FUZZY LOGIC ARTIFICIAL INTELLIGENCE LABVIEW EMBEDDED VLSI AND MANY MORE. WE PROVIDE- RESEARCH PAPERS OBJECTIVES SYNOPSIS IMPLEMENTATION DOCUMENTATION REPORT WRITING PAPER PUBLICATION FOR MORE INFORMATION
contact us -
Address-Opp. Phagwara Bus Stand, Above Bella
Pizza, Handa City Center, Phagwara,punjab
email addres-e2matrixphagwara@gmail.com
jalandhare2matrix@gmail.com
WEBSITE-www.e2matrix.com
CONTACT NUMBER --
09041262727
07508509730
7508509709
Software testing mtech project in ludhianadeepikakaler1
E2MATRIX PROVIDE EXPERT GUIDANCE FOR THESIS & PROJECT FOR M.TECH. / PHD / B.TECH. STUDENTS. MTECH THESIS/ IEEE PROJECT GUIDANCE / PHD THESIS. GENUINE THESIS / PROJECT WORK BY THE EXPERT FACULTY/ DEVELOPERS. DOMAINS / TECHNOLOGIES - MATLAB NS2 IMAGE PROCESSING .NET WIRELESS COMMUNICATION DATA MINING NEURAL NETWORKS HFSS / IE3D ANTENNA WEKA ANDROID CLOUD COMPUTING FUZZY LOGIC ARTIFICIAL INTELLIGENCE LABVIEW EMBEDDED VLSI AND MANY MORE. WE PROVIDE- RESEARCH PAPERS OBJECTIVES SYNOPSIS IMPLEMENTATION DOCUMENTATION REPORT WRITING PAPER PUBLICATION FOR MORE INFORMATION
contact us -
Address-Opp. Phagwara Bus Stand, Above Bella
Pizza, Handa City Center, Phagwara,punjab
email addres-e2matrixphagwara@gmail.com
jalandhare2matrix@gmail.com
WEBSITE-www.e2matrix.com
CONTACT NUMBER --
09041262727
07508509730
7508509709
Foundation level testing Concepts,Non function testing ,Non-Functional testing ,Selenium Tool,
What is Software Testing Software Testing is an activity in software development.
It is an investigation performed against a software to provide information about the quality of the software to stakeholders.
Software testing is associated with the two terms.
Validation: Are we doing the right job?
Verification: Are we doing the job right?
Case study "Virtual Show Room" – VSR,water fall model,General Principles of Testing,
The General V-Model
Unit Testing
Component Testing
Integration Testing
System Testing
Acceptance Testing
Now to answer, “What is Testing?” we can go by the famous definition of Myers, which says, “Testing is the process of executing a program with the intent of finding errors”
Chapter 10 Testing and Quality Assurance1Unders.docxketurahhazelhurst
Chapter 10:
Testing and Quality
Assurance
1
Understand quality & basic techniques for software verification and validation.
Analyze basics of software testing and testing techniques.
Discuss the concept of “inspection” process.
Objectives
2
Quality assurance (QA): activities designed
to measure and improve quality in a product— and process.
Quality control (QC): activities designed to validate and verify the quality of the product through detecting faults and “fixing” the defects.
Need good techniques, process, tools,
and team.
Testing Introduction
similar
3
Two traditional definitions:
Conforms to requirements.
Fit to use.
Verification: checking software conforms to
its requirements (did the software evolve
from the requirements properly; does the software “work”?)
Is the system correct?
Validation: checking software meets user requirements (fit to use)
Are we building the correct system?
What Is “Quality”?
4
Testing: executing program in a controlled environment and “verifying/validating” output.
Inspections and reviews.
Formal methods (proving software correct).
Static analysis detects “error-prone conditions.”
Some “Error-Detection” Techniques (finding errors)
5
Error: a mistake made by a programmer or software engineer that caused the fault, which in turn may cause a failure
Fault (defect, bug): condition that may cause a failure in the system
Failure (problem): inability of system to perform a function according to its spec due to some fault
Fault or failure/problem severity (based on consequences)
Fault or failure/problem priority (based on importance of developing a fix, which is in turn based
on severity)
Faults and Failures
6
Activity performed for:
Evaluating product quality
Improving products by identifying defects and having them fixed prior to software release
Dynamic (running-program) verification of program’s behavior on a finite set of test cases selected from execution domain.
Testing can NOT prove product works 100%—even though we use testing to demonstrate that parts of the software works.
Testing
Not always
done!
7
Who tests?
Programmers
Testers/Req. Analyst
Users
What is tested?
Unit code testing
Functional code testing
Integration/system testing
User interface testing
Testing (cont.)
Why test?
Acceptance (customer)
Conformance (std, laws, etc.)
Configuration (user vs. dev.)
Performance, stress, security, etc.
How (test cases designed)?
Intuition
Specification based (black box)
Code based (white box)
Existing cases (regression)
8
Progression of Testing
Equivalence Class Partitioning
Divide the input into several groups, deemed “equivalent” for purposes of finding errors.
Pick one “representative” for each class used for testing.
Equivalence classes determined by req./design specifications and some intuition
Example: pick “larger” of
two integers and . . .
Lessen duplication.
Complete coverage.
10
Suppose we have n distinct functional requirements.
Su ...
Software testing mtech project in jalandhardeepikakaler1
E2MATRIX PROVIDE EXPERT GUIDANCE FOR THESIS & PROJECT FOR M.TECH. / PHD / B.TECH. STUDENTS. MTECH THESIS/ IEEE PROJECT GUIDANCE / PHD THESIS. GENUINE THESIS / PROJECT WORK BY THE EXPERT FACULTY/ DEVELOPERS. DOMAINS / TECHNOLOGIES - MATLAB NS2 IMAGE PROCESSING .NET WIRELESS COMMUNICATION DATA MINING NEURAL NETWORKS HFSS / IE3D ANTENNA WEKA ANDROID CLOUD COMPUTING FUZZY LOGIC ARTIFICIAL INTELLIGENCE LABVIEW EMBEDDED VLSI AND MANY MORE. WE PROVIDE- RESEARCH PAPERS OBJECTIVES SYNOPSIS IMPLEMENTATION DOCUMENTATION REPORT WRITING PAPER PUBLICATION FOR MORE INFORMATION
contact us -
Address-Opp. Phagwara Bus Stand, Above Bella
Pizza, Handa City Center, Phagwara,punjab
email addres-e2matrixphagwara@gmail.com
jalandhare2matrix@gmail.com
WEBSITE-www.e2matrix.com
CONTACT NUMBER --
09041262727
07508509730
7508509709
Software testing mtech project in ludhianadeepikakaler1
E2MATRIX PROVIDE EXPERT GUIDANCE FOR THESIS & PROJECT FOR M.TECH. / PHD / B.TECH. STUDENTS. MTECH THESIS/ IEEE PROJECT GUIDANCE / PHD THESIS. GENUINE THESIS / PROJECT WORK BY THE EXPERT FACULTY/ DEVELOPERS. DOMAINS / TECHNOLOGIES - MATLAB NS2 IMAGE PROCESSING .NET WIRELESS COMMUNICATION DATA MINING NEURAL NETWORKS HFSS / IE3D ANTENNA WEKA ANDROID CLOUD COMPUTING FUZZY LOGIC ARTIFICIAL INTELLIGENCE LABVIEW EMBEDDED VLSI AND MANY MORE. WE PROVIDE- RESEARCH PAPERS OBJECTIVES SYNOPSIS IMPLEMENTATION DOCUMENTATION REPORT WRITING PAPER PUBLICATION FOR MORE INFORMATION
contact us -
Address-Opp. Phagwara Bus Stand, Above Bella
Pizza, Handa City Center, Phagwara,punjab
email addres-e2matrixphagwara@gmail.com
jalandhare2matrix@gmail.com
WEBSITE-www.e2matrix.com
CONTACT NUMBER --
09041262727
07508509730
7508509709
Foundation level testing Concepts,Non function testing ,Non-Functional testing ,Selenium Tool,
What is Software Testing Software Testing is an activity in software development.
It is an investigation performed against a software to provide information about the quality of the software to stakeholders.
Software testing is associated with the two terms.
Validation: Are we doing the right job?
Verification: Are we doing the job right?
Case study "Virtual Show Room" – VSR,water fall model,General Principles of Testing,
The General V-Model
Unit Testing
Component Testing
Integration Testing
System Testing
Acceptance Testing
Agenda
Requirements
What are requirements?
Classifying the requirements
Characteristics of requirements
Requirements elicitation
Documenting the requirements
Requirements analysis and negotiation
Requirements validation
Agenda
Components Involved
Software process models
Waterfall Model/SDLC
Incremental Process
Evolutionary Process
Concurrent models
Process activities
Coping with change
Process improvement
SE - Lecture 1 - Introduction to S Engineering.pptxTangZhiSiang
Agenda
Software Engineering?
Professional software development
What is meant by software engineering.
Overview of Software Industry
A brief introduction to the overview of software industry
History and development of software industry
Case studies and Emerging trends
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
In this webinar you will learn how your organization can access TechSoup's wide variety of product discount and donation programs. From hardware to software, we'll give you a tour of the tools available to help your nonprofit with productivity, collaboration, financial management, donor tracking, security, and more.
Introduction to AI for Nonprofits with Tapp NetworkTechSoup
Dive into the world of AI! Experts Jon Hill and Tareq Monaur will guide you through AI's role in enhancing nonprofit websites and basic marketing strategies, making it easy to understand and apply.
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
Francesca Gottschalk - How can education support child empowerment.pptxEduSkills OECD
Francesca Gottschalk from the OECD’s Centre for Educational Research and Innovation presents at the Ask an Expert Webinar: How can education support child empowerment?
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
4. Introduction
Software Testing is a method to check
whether the actual software product
matches expected requirements and to
ensure that software product
is defect free. It involves execution of
software/system components using
manual or automated tools to evaluate
one or more properties of interest. The
purpose of software testing is to identify
errors, gaps or missing requirements in
contrast to actual requirements.
3/1/20XX 4
5. 5
What is testing?
+ Testing is a process to
help identify
correctness,
completeness, security,
quality, reliability, in fact
to determine if the
software is useful for its
intended purpose
+ Determine if things work
as expected
Documentation
Processes
Programs
+ "Program testing can be
used to show the
presence of bugs, but
never to show their
absence!" E.D.Dijkstra
6. Why Software Testing Important?
+ Though testing itself costs money, companies can save millions per
year in development and support if they have a good testing
technique and QA processes in place. Early software testing
uncovers problems before a product goes to market. The sooner
development teams receive test feedback, the sooner they can
address issues such as:
• Architectural flaws
• Poor design decisions
• Invalid or incorrect functionality
• Security vulnerabilities
• Scalability issues
Sample footer text 3/1/20XX 6
7. 7
Faults, Defects and Debugging
+ We test to find faults - a difference from expected behaviour
+ Faults are caused by defects in the software
+ When a fault is discovered, you have to classify its urgency
Colours not displayed correctly
AI in a computer game not as good as hoped
ATM dispensing incorrect amounts of cash
+ If you want to locate a programming fault you need to debug your program
+ Once located you still have to decide what to do. You may...
decide to ignore it
realise that the requirements are incorrect
fix it
8. 8
Software Testing
+ Testing can:-
Show errors in coding
Give us greater confidence in our software (but software can still be
discontinuous)
Measure performance
Indicate quality
+ Testing is NOT a substitute for quality, but it can reveal
poor quality systems
9. 9
Testing & State Diagram
+ Software Verification,
+ Validation and Testing
+ Black Box
+ White Box Testing
10. 10
Testing roles
+ The following are likely on a testing project
Tester
Test Designer
Test/QA Team Lead
Test Build Manager
Test Configuration Manager
Test automater/automation developer
Test administrator
12. 12
What to test?
+ You should test
everything (if you are
concerned about it being
correct!)
Documentation
+ translations!
Procedures
+ Installation
+ Fault logging & tracking
+ Payment
Programs
+ Unit testing
+ Integration testing
+ System testing
Backups!
+ Do you back up your computer?
+ Do your backups work?
13. 13
What to test?
+ Every aspect in the development of a computer system can be
tested
+ Requirements
Do they represent reality/can they be physically implemented?
Have previous systems with these requirements been built/did they have
problems (feasibility analysis)
Are they self-consistent?
Check with the user
+ Analysis
Are the relationships really present in the problem?
Is it possible to meet all requirements with the model?
14. 14
What to test?
+ Design
Will the system be able to implement the system within given time
constraints?
Can the design be built within budget?
+ Implementation
Does each class work as specified?
Do the classes work together properly?
+ Documentation
Can the user understand it, and use it to solve problems?
Does it match the functionality of the system?
16. Testing Category Types of Testing
Functional Testing Unit Testing
Integration Testing
Smoke
UAT ( User Acceptance Testing)
Localization
Globalization
Interoperability
Non- Functional Testing Performance
Endurance
Load
Volume
Scalability
Usability
So on
Maintenance Regression
Maintenance
16
Note: This is not the complete list as there are more than 150 types of testing types and still adding. Also,
note that not all testing types are applicable to all projects but depend on the nature & scope of the
project.
17. 17
Unit Testing
+ Unit testing
Checking low level modules work in isolation
Modules typically work with other modules, so we have to create a framework to support
the modules.
Modules that are called can be replaced with simple versions that are easy to code up,
and return values that allow you to test sufficiently.
Similarly you may need to write code to call the module you are testing. This is often
called a test harness.
18. 18
Integration testing
+ Once each unit has been tested, we start combining units to form larger
groups.
+ Integration testing tests whether the components communicate with each
other properly, and provide appropriate behaviour.
+ Need to establish pre/post conditions/invariants
+ Need to identify requirements that the component is meant to satisfy
19. 19
System testing
+ System testing tests all of the components together as
they are expected to be delivered to the customer.
+ These tests are based against the use cases and
scenarios created described during requirements.
+ See wikipedia link for a list of the different types of testing
that can be done.
20. 20
Testing strategies in Software
Engineering
+ The best tests are those that
discover faults.
As we can’t test for every possibility,
we have to choose some tests over
others, and hope they are
representative.
We have to have a measure by which
we can choose tests
This requires an understanding of
what faults are likely.
Different fault classes can be tested in
different ways.
+ The most common types software errors
not knowing the language
typographical errors
errors in problem solving logic
algorithms that provide poor results in some
cases
single or critical input values that yield
unanticipated results
data structure defects in design or translation of
the design
misinterpretation of specifications
21. 21
Not knowing the language
+ In 1990, a bug in the New York telephone network
switching software caused a cascading failure.
+ The programmer didn’t understand “break” properly.
In the software (written in C), there was a long statement:
do {
switch (…) {
case …:
break;
case …:
if (…)
break;
else
…
} while (…);
Example Software Error
https://www.latimes.com/archives/la-
xpm-1990-01-17-fi-215-story.html
22. 22
Typographical errors
+ Errors where mistyping or accidentally choosing the wrong
symbol.
+ C is very vulnerable as many character sequences are so
similar to other valid sequences.
if (a = b) - should be if (a==b) ?
printf ("a & b is %dn", a & b);
printf ("a && b is %dn", a && b);
& and && are very different!
Example Software Error
23. 23
Algorithms that provide poor results in
some cases
+ Computing with floating point numbers is especially
vulnerable to the order in which items are manipulated.
Example Software Error
24. 24
Single or critical input values that yield
unanticipated results
+ USS Yorktown was experimenting with a
computer controlled system for propulsion.
+ A Microsoft database stored information for
the control systems
+ A user entered in 0 into a field that wasn’t
validated, resulting in a divide by 0 error.
+ The failure spread, and locked the entire
system.
+ The ship had to be towed back to port.
Example Software Error
25. 25
Testing for common errors
+ We need to check that common problems are addressed in our tests.
+ Some tests are done by the compiler - e.g. passing correct parameters to a
function, checking assignment statements, checking syntax.
+ Some languages are better than others at providing support for this.
if (a = b) {…}
C doesn’t prevent this, but Java (mostly) does.
+ Primitive languages like C often require the help of static code checking
tools, such as lint.
26. 26
Two types of testing
+ We can examine the modules (classes) in two ways
+ White box testing
Write tests for the internals of the class - the if statements, while statements,
algorithms etc.
Perform code reviews/write the code in pairs. Involves a second person
checking your program before you start performing run-time tests.
+ Black Box testing
Ignores the internal implementation details and concentrates on the service
that the modules offer. Also tests sequences of calls into the object.
27. 27
Black box testing
+ Black-box testing, a tester doesn’t have any information
about the internal working of the software system.
+ Black box testing is a high level of testing that focuses on
the behavior of the software.
+ It involves testing from an external or end-user
perspective. Black box testing can be applied to virtually
every level of software testing: unit, integration, system,
and acceptance.
28. 28
White box testing
+ White box testing looks in detail at the code that makes up a function.
Typical places to inspect are branching points where decisions are
made...
if statements, loops, multiway branches (switch statements).
+ Boundary conditions for variables can also be tested. For example, a
variable to hold a month value should be checked for being outside
of range.
+ Boundary conditions for types, such as integer overflow conditions,
should also be checked.
29. 29
Testing for common faults
+ “Bugs lurk in corners and congregate at boundaries”
+ Boundary conditions - those areas where the behaviour of the system changes dramatically
from one state to another - are those that have the greatest potential for error.
+ The behaviour of the if statement below changes when “a” has values of 9 and 10. A test case
should ensure that both “a” is set to both values.
+ Here we don’t test the if, but the actions. Sometimes we test the logic of the if (especially when
it is more complicated).
if (a < 10) {
x ();
} else {
y ();
}
Should be tested with ‘a’ set to
9, 10, 11
30. 30
Automating testing
+ Software needs to be tested every time any change is made.
+ Small changes can have unforeseen effects, so it is wise to
check all of the software.
+ The modern method of software development encourages lots
of small changes to ensure software is always kept runnable.
+ This results in lots of testing - the only solution is to automate
the process.
+ Automated testing can help identify problems earlier.
31. 31
How useful is testing?
+ "The most powerful weapon in your toolbox is comprehensive
unit testing"
+ It's this kind of thinking that causes too many of the problems
you are trying to prevent.
+ According to “Programming Productivity” by Capers Jones,
“Unit testing will only find 25% of the defects. At its best, unit testing finds 50% of the problems. Compare this
to, for example, formal inspections, which find 60% of defects on average, 70% at best. Modelling and
prototyping (build one to throw away) can find up to 80% of defects.”
+ None of these methods will build a completely defect-free
program, but by combining a number of them, you can get
extremely close (99%)
32. 32
Testing roles
+ Some companies separate the role of testing from that of developer
because
people are blind to the problems in their own code
integration testing requires testing the interaction between developer’s code
the job of testing is too large for one person
The developer still does preliminary testing to ensure their code works to spec.
The code is then released to the testers who run their own testing on it.
+ The human aspects of a separate testing team often results in
trouble
Testers are often the last in line in the product release cycle. Any delay from the
developers means they work rush hours under extreme pressure
34. 34
Testing roles
+ The following are likely on a testing project
Tester
Test Designer
Test/QA Team Lead
Test Build Manager
Test Configuration Manager
Test automater/automation developer
Test administrator
35. 35
Fault tracking
+ If you want to correct faults you need to
identify them (result of testing, or general use)
record what their status is
identify what versions of software they occur in
+ Fault tracking software help automate this
Roundup
TestTrackPro
37. 37
How much testing should you do?
+ Eventually testing has to come to an end. How do you
decide when that is?
+ You need to establish release criteria...
You need to define criteria that you can check before agreeing to
release
Define success for your software
Software may contain faults, but it should provide value for your
customers
Determine what your company needs
Ensure the criteria are, like requirements, "SMART" - Specific,
Measurable, Attainable, Relevant, Trackable
38. 38
Example release criteria
+ All code must compile and build for all platforms
+ Zero high priority bugs
+ For all open bugs, documentation in release notes with
workarounds
+ All planned QA tests run, at least ninety percent pass
+ Number of open defects decreasing for last three weeks.
+ Feature x unit tested by developers, system tested by QA,
verified with customers A, B before release
+ Ready to release by June 1
Ref: 2
39. 39
Summary
+ Testing is never a substitute for developing software with a
good process.
+ Testing is used to identify a program’s divergence from the
requirements
+ Not all faults need to be fixed.
+ Automated testing simplifies the process of testing, and
can help development.
42. What is State Diagram
+ An object responds differently to the same event depending on
what state it is in. State machine diagrams are usually applied
to objects but can be applied to any element that has behavior
to other entities such as: actors, use cases, methods,
subsystems systems and etc. and they are typically used in
conjunction with interaction diagrams (usually sequence
diagrams).
Sample footer text 3/1/20XX 42
43. State Diagram
State Machine Diagrams are
often used for deriving testing
cases.
43
https://www.visual-paradigm.com/guide/uml-unified-modeling-language/about-state-diagrams/
44. How To Write Test Scenarios
• As a tester, you can follow these five steps to create Test Scenarios-
Step 1: Read the Requirement Documents like Business Requirements, System
Requirements, Functional Requirement, of the System Under Test (SUT). You
could also refer uses cases, books, manuals, etc. of the application to be tested.
Step 2: For each requirement, figure out possible users actions and objectives.
Determine the technical aspects of the requirement. Ascertain possible scenarios
of system abuse and evaluate users with hacker’s mindset.
Step 3: After reading the Requirements Document and doing your due Analysis,
list out different test scenarios that verify each feature of the software.
Step 4: Once you have listed all possible Test Scenarios, a Traceability Matrix is
created to verify that each & every requirement has a corresponding Test Scenario
Step 5: The scenarios created are reviewed by your supervisor. Later, they are
also reviewed by other Stakeholders in the project.
44