SlideShare uma empresa Scribd logo
1 de 25
1
3
• One of the practical methods commonly used to detect the
presence of errors (failures) in a computer program is to
test it for a set of inputs.
Our program
The output
is correct?
I1, I2, I3,
…, In, … Expected results
= ?
Obtained results
“Inputs”
- No code inspection - No code analysis
- No model checking - No bug fixing
- No debugging
 At which level conducting the testing?
 Unit
 Integration
 System
 How to choose inputs?
 using the specifications/use cases/requirements
 using the code
 How to identify the expected output?
 Test oracles
 How good test cases are?
 When we can stop the testing activity
4
 Acceptance Testing – this checks if the overall
system is functioning as required.
 Unit testing – this is basically testing of a single
function, procedure, class.
 Integration testing – this checks that units tested in
isolation work properly when put togheter.
 System testing – here the emphasis is to ensure that
the whole system can cope with real data, monitor
system performance, test the system’s error
handling and recovery routines.
 Regression TestingRegression Testing – this checks that the system
preserves its functionality after maintenance and/or
evolution tasks.
5
6
Business
Logic
GUI
Web UI
Persistence
Layer
Abbot/JFCUnit/Marathon…
HttpUnit/Canoo/Selenium
Junit/SQLUnit/XMLUnit
FIT/Fitnesse (High level)
Junit (Low level)
Cactus
Perfomance and
Load Testing
JMeter/JUnitPerf
Testing tools
 Unit Tests are tests written by the developers to test
functionality as they write it.
 Each unit test typically tests only a single class, or a
small cluster of classes.
 Unit tests are typically written using a unit testing
framework, such as JUnit (automatic unit tests).
 Target errors not found by Unit testing:
- Requirements are mis-interpreted by developer.
- Modules don’t integrate with each other
7
8
Testing based on the coverage of the executed program (source)
code.
Different coverage criteria:
• statement coverage
• path coverage
• condition coverage
• definition-use coverage
• …..
It is often the case that it is not possible to cover all code. For
instance:
- for the presence of dead code (not executable code)
- for the presence of not feasible path in the CFG
- etc.
Unit testing: a white-box approach
project
 Acceptance Tests are specified by the customer and
analyst to test that the overall system is functioning as
required (Do developers build the right system?).
 Acceptance tests typically test the entire system, or
some large chunk of it.
 When all the acceptance tests pass for a given user
story (or use case, or textual requirement), that story
is considered complete.
 At the very least, an acceptance test could consist of
a script of user interface actions and expected results
that a human can run.
 Ideally acceptance tests should be automated, either
using the unit testing framework (Junit), or a separate
acceptance testing framework (Fitnesse).
9
 Used to judge if the product is acceptable to the
customer
 Coarse grained tests of business operations
 Scenario/Story-based (contain expectations)
 Simple:
 Happy paths (confirmatory)
 Sad paths
 Alternative paths (deviance)
10
11
1.describe the system using a Use-Cases Diagram
* a use-case of that diagram represents a functionality implemented by
the system
2.detail each use-case with a textual description of, e.g., its
pre-post conditions and flow of events
* events are related to: (i) the interactions between system and user; and
(ii) the expected actions of the system
* a flow of events is composed of basic and alternate flows
3.define all instances of each use-case (scenarios) executing
the system for realizing the functionality
4.define, at least, one test case for each scenario
5.(opt) define additional test cases to test the interaction
between use-cases.
Acceptance testing: a black-box approach
project
12
Different approaches can be used:
- Random values:
- for each input parameter we randomly select the values
- Tester Experience:
- for each input we use our experience to select relevant values to
test
- Domain knowledge:
- we use requirements information or domain knowledge information
to identify relevant values for inputs
How to select input values? (1)
project
13
Different approaches can be used:
- Equivalence classes:
- we subdivide the input domain into a small number of sub-domains
- the equivalence classes are created assuming that the SUT exhibits
the same behavior on all elements
- few values for each classes can be used for our testing
- Boundary values:
– is a test selection technique that targets faults in applications at the
“boundaries” of equivalence classes
– experience indicates that programmers make mistakes in processing
values at and near the boundaries of equivalence classes
How to select input values? (2)
project
14
- Combinatorial testing:
- test all possible combination of the inputs is often impossible
e.g., method(a:int,b:int,c:int) .. how many combinations?
with 10 values per input: 10
3
=1000
with 100 values per input: 100
3
=1000000
- selection of relevant combinations is important
- Pairwise testing (aka 2-way): cover all combinations for each pair of
inputs
<a,b> <a,c> <b,c> = 10
2
+ 10
2
+10
2
=300
don’t care about the value of the third input
How to select input values? (3)
project
15
+ system
increment
Prioritized
functionalities
Write
acceptance
tests
Execute
acceptance
tests
Write
and
execute
unit tests
“At different points in the process”
“Executed after the development”“Written before”
16
The motivation of unit testing is finding faults.The motivation of acceptance testing is demonstrating
working functionalities.
Written and executed during the development.Written before the development and executed after.
Written using a unit testing framework.Written using an acceptance testing framework (also
unit testing framework).
Starting point: new capability (to add a new
module/function or class/method).
Starting point: User stories, User needs, Use Cases,
Textual Requirements, …
Used to find faults in individual modules or units
(individual programs, functions, procedures, web
pages, menus, classes, …) of source code. Used
for documentation (low level)
Used to verify that the implementation is complete
and correct. Used for Integration, System, and
regression testing. Used to indicate the progress in the
development phase. (Usually as %). Used as a
contract. Used for documentation (high level)
(extreme programming) When unit tests pass,
write another test that fails.
(extreme programming) When acceptance tests pass,
stop coding. The job is done.
Written by developers.Written by Customer and Analyst.
Unit TestsAcceptance Tests
In theory:
In practice: The difference is not so clear-cut.
 We can often use the same tools for either or both
kinds of tests.
17
 Manual Acceptance testing.
User exercises the system
manually using his creativity.
 Acceptance testing with “GUI
Test Drivers” (at the GUI level).
These tools help the developer
do functional/acceptance testing
through a user interface such as
a native GUI or web interface.
“Capture and Replay” Tools
capture events (e.g. mouse,
keyboard) in modifiable script.
18
Disadvantages:
expensive, error prone,
not repeatable, …
Disavantages:
Tests are brittle, i.e.,
have to be re-captured if
the GUI changes.
“Avoid acceptance testing only in final stage: Too late to find bugs”
 Starting from a user story
(or use case or textual
requirement), the customer
enters in a table
(spreadsheet application,
html, Word, …) the
expectations of the
program’s behavior.
 At this point tables can be
used as oracle. The
customer can manually
insert inputs in the System
and compare outputs with
expected results.
19
Pro: help to clarify requirements, used in System testing, …
Cons: expensive, error prone, …
inputs
output
 It is estimated that 85% of the defects
in developed software originate in the
requirements (communication between
customer and analyst, communication
between analyst and developer).
 There are several “sins” to avoid when
specifying requirements:
 noise
 silence
 ambiguity
 over-specification
 wishful thinking,
 … => ambiguous, inconsistent,
unusable requirements.
20
“order-processing system for a brewery”
 if a retail store buys 50 cases of a seasonal brew,
no discount is applied; but if the 50 cases are not
seasonal a 12% discount is applied. If a store buys
100 cases of a seasonal brew, a discount is applied,
but it's only 5%. A 100-case order of a non-
seasonal drink is discounted at 17%. There are
similar rules for buying in quantities of 200.
Table-based test cases can help in clarifying
requirements
 We have a thick GUI that
has program logic. The
interfaces between the
modules are not clearly
defined.
 Testing of specific
functions (Unit Testing)
cannot be isolated.
 Testing has to be done
through the GUI =>
Fit/Fitnesse is not
sufficient.
 Testing is difficult.
21
“Badly designed system”
GUI Test Drivers
 The GUI does not contain
any program logic other
than dealing with
presentation.
 The interfaces between the
modules are well defined.
 This give us testing
advantages. Unit and
System acceptance testing
are simpler.
22
“Well architected application”
 When an application has
modules with well defined
interfaces, each module can
be tested independently from
the other modules.
 Using this type of
environment the developer
can test the module to make
sure everything is working
before trying to integrate it
with other modules.
 This system does not require
Fit/ FitNesse. You could use
any automated test harness
that works for your
application (i.e., Junit).
23
Test Tool = Fit/Fitnesse or Junit
 Badly designed systems makes testing difficult. Unit testing
is complex and all end-to-end tests are through the GUI.
 Well architected applications simplify testing. Unit testing
is simple and end-to-end tests are through interfaces of
modules.
 The motivation of Acceptance testing is demonstrating
working functionalities.
 The motivation of Junit is finding faults.
 Manual acceptance testing is expensive, error prone and
not repeatable.
 Table-based test cases help to clarify “textual
requirements”.
 Table-based test cases can be “requirements verifiable and
executable”.
 Table-based test cases can be useful for Managers,
Customers, Analysts and Developers.
24
25
-Jim Heumann. Generating Test Cases From Use Cases. Online IBM journal. 2001
http://ww.ibm.com/developerworks/rational/library/content/RationalEdge/jun01/Gener
atingTestCasesFromUseCasesJune01.pdf
- Peter Zielczynski. Traceability from Use Cases to Test Cases. online IBM journal
2006 http://www.ibm.com/developerworks/rational/library/04/r-3217/
- R.C.Martin and G.Melnik. Tests and Requirements, Requirements and Tests: A
Möbius Strip. IEEE Software 2008.
http://www.gmelnik.com/papers/IEEE_Software_Moebius_GMelnik_RMartin.pdf
-J. Aarniala, University of Helsinki. Acceptance Testing, Helsinki, October 30, 2006.
www.cs.helsinki.fi/u/jaarnial/jaarnial-testing.pdf

Mais conteúdo relacionado

Mais procurados

5 black box and grey box testing
5   black box and grey box testing5   black box and grey box testing
5 black box and grey box testingYisal Khan
 
Test cases for effective testing - part 1
Test cases for effective testing - part 1Test cases for effective testing - part 1
Test cases for effective testing - part 1Mona M. Abd El-Rahman
 
Implementing Blackbox Testing
Implementing Blackbox TestingImplementing Blackbox Testing
Implementing Blackbox TestingEdureka!
 
Black Box Testing
Black Box TestingBlack Box Testing
Black Box TestingTestbytes
 
White box testing
White box testingWhite box testing
White box testingAbdul Basit
 
Writing Test Cases 20110808
Writing Test Cases 20110808Writing Test Cases 20110808
Writing Test Cases 20110808slovejoy
 
Black box testing
Black box testingBlack box testing
Black box testingAbdul Basit
 
An Insight into the Black Box and White Box Software Testing
An Insight into the Black Box and White Box Software Testing An Insight into the Black Box and White Box Software Testing
An Insight into the Black Box and White Box Software Testing BugRaptors
 
Equivalence class testing
Equivalence  class testingEquivalence  class testing
Equivalence class testingMani Kanth
 
WHITE BOX & BLACK BOX TESTING IN DATABASE
WHITE BOX & BLACK BOXTESTING IN DATABASEWHITE BOX & BLACK BOXTESTING IN DATABASE
WHITE BOX & BLACK BOX TESTING IN DATABASESalman Memon
 

Mais procurados (17)

Black-Box
Black-BoxBlack-Box
Black-Box
 
5 black box and grey box testing
5   black box and grey box testing5   black box and grey box testing
5 black box and grey box testing
 
Test cases for effective testing - part 1
Test cases for effective testing - part 1Test cases for effective testing - part 1
Test cases for effective testing - part 1
 
Implementing Blackbox Testing
Implementing Blackbox TestingImplementing Blackbox Testing
Implementing Blackbox Testing
 
Black box software testing
Black box software testingBlack box software testing
Black box software testing
 
Test cases
Test casesTest cases
Test cases
 
Effective Software Test Case Design Approach
Effective Software Test Case Design ApproachEffective Software Test Case Design Approach
Effective Software Test Case Design Approach
 
Black Box Testing
Black Box TestingBlack Box Testing
Black Box Testing
 
Testing techniques
Testing techniquesTesting techniques
Testing techniques
 
White box testing
White box testingWhite box testing
White box testing
 
Writing Test Cases 20110808
Writing Test Cases 20110808Writing Test Cases 20110808
Writing Test Cases 20110808
 
Black box testing
Black box testingBlack box testing
Black box testing
 
An Insight into the Black Box and White Box Software Testing
An Insight into the Black Box and White Box Software Testing An Insight into the Black Box and White Box Software Testing
An Insight into the Black Box and White Box Software Testing
 
Unit testing
Unit testing Unit testing
Unit testing
 
Equivalence class testing
Equivalence  class testingEquivalence  class testing
Equivalence class testing
 
WHITE BOX & BLACK BOX TESTING IN DATABASE
WHITE BOX & BLACK BOXTESTING IN DATABASEWHITE BOX & BLACK BOXTESTING IN DATABASE
WHITE BOX & BLACK BOX TESTING IN DATABASE
 
Black box testing
Black box testingBlack box testing
Black box testing
 

Destaque

Embedded final year project in ludhiana
Embedded final year project in ludhianaEmbedded final year project in ludhiana
Embedded final year project in ludhianadeepikakaler1
 
6 weeks summer training in matlab,jalandhar
6 weeks summer training in matlab,jalandhar6 weeks summer training in matlab,jalandhar
6 weeks summer training in matlab,jalandhardeepikakaler1
 
6months industrial training in android, jalandhar
6months industrial training in android, jalandhar6months industrial training in android, jalandhar
6months industrial training in android, jalandhardeepikakaler1
 
.Net final year project in jalandhar
.Net final year project in jalandhar.Net final year project in jalandhar
.Net final year project in jalandhardeepikakaler1
 
6months industrial training in matlab, jalandhar
6months industrial training in matlab, jalandhar6months industrial training in matlab, jalandhar
6months industrial training in matlab, jalandhardeepikakaler1
 
6 weeks/months summer training in vlsi,ludhiana
6 weeks/months summer training in vlsi,ludhiana6 weeks/months summer training in vlsi,ludhiana
6 weeks/months summer training in vlsi,ludhianadeepikakaler1
 
6 weeks summer training in embedded,jalandhar
6 weeks summer training in embedded,jalandhar6 weeks summer training in embedded,jalandhar
6 weeks summer training in embedded,jalandhardeepikakaler1
 
Labview phd project in ludhiana
Labview phd project in ludhianaLabview phd project in ludhiana
Labview phd project in ludhianadeepikakaler1
 
.Net final year project in LUDHIANA
.Net final year project in LUDHIANA.Net final year project in LUDHIANA
.Net final year project in LUDHIANAdeepikakaler1
 
6 weeks summer training in labview,jalandhar
6 weeks summer training in labview,jalandhar6 weeks summer training in labview,jalandhar
6 weeks summer training in labview,jalandhardeepikakaler1
 
6months industrial training in fuzzy logic, ludhiana
6months industrial training in fuzzy logic, ludhiana6months industrial training in fuzzy logic, ludhiana
6months industrial training in fuzzy logic, ludhianadeepikakaler1
 
Android mtech project in ludhiana
Android  mtech project in ludhianaAndroid  mtech project in ludhiana
Android mtech project in ludhianadeepikakaler1
 
6months industrial training in embedded, ludhiana
6months industrial training in embedded, ludhiana6months industrial training in embedded, ludhiana
6months industrial training in embedded, ludhianadeepikakaler1
 
Opnet final year project in ludhiana
Opnet final year project in ludhianaOpnet final year project in ludhiana
Opnet final year project in ludhianadeepikakaler1
 

Destaque (15)

Embedded final year project in ludhiana
Embedded final year project in ludhianaEmbedded final year project in ludhiana
Embedded final year project in ludhiana
 
6 weeks summer training in matlab,jalandhar
6 weeks summer training in matlab,jalandhar6 weeks summer training in matlab,jalandhar
6 weeks summer training in matlab,jalandhar
 
6months industrial training in android, jalandhar
6months industrial training in android, jalandhar6months industrial training in android, jalandhar
6months industrial training in android, jalandhar
 
.Net6weeks
.Net6weeks.Net6weeks
.Net6weeks
 
.Net final year project in jalandhar
.Net final year project in jalandhar.Net final year project in jalandhar
.Net final year project in jalandhar
 
6months industrial training in matlab, jalandhar
6months industrial training in matlab, jalandhar6months industrial training in matlab, jalandhar
6months industrial training in matlab, jalandhar
 
6 weeks/months summer training in vlsi,ludhiana
6 weeks/months summer training in vlsi,ludhiana6 weeks/months summer training in vlsi,ludhiana
6 weeks/months summer training in vlsi,ludhiana
 
6 weeks summer training in embedded,jalandhar
6 weeks summer training in embedded,jalandhar6 weeks summer training in embedded,jalandhar
6 weeks summer training in embedded,jalandhar
 
Labview phd project in ludhiana
Labview phd project in ludhianaLabview phd project in ludhiana
Labview phd project in ludhiana
 
.Net final year project in LUDHIANA
.Net final year project in LUDHIANA.Net final year project in LUDHIANA
.Net final year project in LUDHIANA
 
6 weeks summer training in labview,jalandhar
6 weeks summer training in labview,jalandhar6 weeks summer training in labview,jalandhar
6 weeks summer training in labview,jalandhar
 
6months industrial training in fuzzy logic, ludhiana
6months industrial training in fuzzy logic, ludhiana6months industrial training in fuzzy logic, ludhiana
6months industrial training in fuzzy logic, ludhiana
 
Android mtech project in ludhiana
Android  mtech project in ludhianaAndroid  mtech project in ludhiana
Android mtech project in ludhiana
 
6months industrial training in embedded, ludhiana
6months industrial training in embedded, ludhiana6months industrial training in embedded, ludhiana
6months industrial training in embedded, ludhiana
 
Opnet final year project in ludhiana
Opnet final year project in ludhianaOpnet final year project in ludhiana
Opnet final year project in ludhiana
 

Semelhante a 6months industrial training in software testing, ludhiana (20)

Lecture (Software Testing).pptx
Lecture (Software Testing).pptxLecture (Software Testing).pptx
Lecture (Software Testing).pptx
 
Software testing
Software testingSoftware testing
Software testing
 
Chapter 10 Testing and Quality Assurance1Unders.docx
Chapter 10 Testing and Quality Assurance1Unders.docxChapter 10 Testing and Quality Assurance1Unders.docx
Chapter 10 Testing and Quality Assurance1Unders.docx
 
Software test life cycle
Software test life cycleSoftware test life cycle
Software test life cycle
 
Model Driven Testing: requirements, models & test
Model Driven Testing: requirements, models & test Model Driven Testing: requirements, models & test
Model Driven Testing: requirements, models & test
 
prova4
prova4prova4
prova4
 
provalast
provalastprovalast
provalast
 
test3
test3test3
test3
 
test2
test2test2
test2
 
provoora
provooraprovoora
provoora
 
remoto2
remoto2remoto2
remoto2
 
provacompleta2
provacompleta2provacompleta2
provacompleta2
 
finalelocale2
finalelocale2finalelocale2
finalelocale2
 
domenica2
domenica2domenica2
domenica2
 
provarealw4
provarealw4provarealw4
provarealw4
 
test2
test2test2
test2
 
prova3
prova3prova3
prova3
 
stasera1
stasera1stasera1
stasera1
 
provarealw2
provarealw2provarealw2
provarealw2
 
prova5
prova5prova5
prova5
 

Mais de deepikakaler1

Vlsi final year project in ludhiana
Vlsi final year project in ludhianaVlsi final year project in ludhiana
Vlsi final year project in ludhianadeepikakaler1
 
Matlab final year project in ludhiana
Matlab final year project in ludhianaMatlab final year project in ludhiana
Matlab final year project in ludhianadeepikakaler1
 
image processing project course ludhiana
image processing project course ludhianaimage processing project course ludhiana
image processing project course ludhianadeepikakaler1
 
Hfss final year project in ludhiana
Hfss final year project in ludhianaHfss final year project in ludhiana
Hfss final year project in ludhianadeepikakaler1
 
Fuzzy logic mtech project in ludhiana
Fuzzy logic mtech project in ludhiana Fuzzy logic mtech project in ludhiana
Fuzzy logic mtech project in ludhiana deepikakaler1
 
Data mining final year project in ludhiana
Data mining final year project in ludhianaData mining final year project in ludhiana
Data mining final year project in ludhianadeepikakaler1
 
Artificial intelligence mtech project in ludhiana
Artificial intelligence mtech project in ludhiana Artificial intelligence mtech project in ludhiana
Artificial intelligence mtech project in ludhiana deepikakaler1
 
6 weeks summer training in software testing,ludhiana
6 weeks summer training in software testing,ludhiana6 weeks summer training in software testing,ludhiana
6 weeks summer training in software testing,ludhianadeepikakaler1
 
6 weeks summer training in labview,ludhiana
6 weeks summer training in labview,ludhiana6 weeks summer training in labview,ludhiana
6 weeks summer training in labview,ludhianadeepikakaler1
 
6months industrial training in labview, ludhiana
6months industrial training in labview, ludhiana6months industrial training in labview, ludhiana
6months industrial training in labview, ludhianadeepikakaler1
 
6 weeks summer training in hfss,ludhiana
6 weeks summer training in hfss,ludhiana6 weeks summer training in hfss,ludhiana
6 weeks summer training in hfss,ludhianadeepikakaler1
 
6months industrial training in hfss, ludhiana
6months industrial training in hfss, ludhiana6months industrial training in hfss, ludhiana
6months industrial training in hfss, ludhianadeepikakaler1
 
6 weeks summer training in fuzzy logic,ludhiana
6 weeks summer training in fuzzy logic,ludhiana6 weeks summer training in fuzzy logic,ludhiana
6 weeks summer training in fuzzy logic,ludhianadeepikakaler1
 
6 weeks summer training in embedded,ludhiana
6 weeks summer training in embedded,ludhiana6 weeks summer training in embedded,ludhiana
6 weeks summer training in embedded,ludhianadeepikakaler1
 
6 weeks summer training in data mining,ludhiana
6 weeks summer training in data mining,ludhiana6 weeks summer training in data mining,ludhiana
6 weeks summer training in data mining,ludhianadeepikakaler1
 
6months industrial training in data mining,ludhiana
6months industrial training in data mining,ludhiana6months industrial training in data mining,ludhiana
6months industrial training in data mining,ludhianadeepikakaler1
 
6 weeks summer training in android,ludhiana
6 weeks summer training in android,ludhiana6 weeks summer training in android,ludhiana
6 weeks summer training in android,ludhianadeepikakaler1
 
Vlsi final year project in jalandhar
Vlsi final year project in jalandharVlsi final year project in jalandhar
Vlsi final year project in jalandhardeepikakaler1
 
Opnet final year project in jalandhar
Opnet final year project in jalandharOpnet final year project in jalandhar
Opnet final year project in jalandhardeepikakaler1
 
Matlab final year project in jalandhar
Matlab final year project in jalandharMatlab final year project in jalandhar
Matlab final year project in jalandhardeepikakaler1
 

Mais de deepikakaler1 (20)

Vlsi final year project in ludhiana
Vlsi final year project in ludhianaVlsi final year project in ludhiana
Vlsi final year project in ludhiana
 
Matlab final year project in ludhiana
Matlab final year project in ludhianaMatlab final year project in ludhiana
Matlab final year project in ludhiana
 
image processing project course ludhiana
image processing project course ludhianaimage processing project course ludhiana
image processing project course ludhiana
 
Hfss final year project in ludhiana
Hfss final year project in ludhianaHfss final year project in ludhiana
Hfss final year project in ludhiana
 
Fuzzy logic mtech project in ludhiana
Fuzzy logic mtech project in ludhiana Fuzzy logic mtech project in ludhiana
Fuzzy logic mtech project in ludhiana
 
Data mining final year project in ludhiana
Data mining final year project in ludhianaData mining final year project in ludhiana
Data mining final year project in ludhiana
 
Artificial intelligence mtech project in ludhiana
Artificial intelligence mtech project in ludhiana Artificial intelligence mtech project in ludhiana
Artificial intelligence mtech project in ludhiana
 
6 weeks summer training in software testing,ludhiana
6 weeks summer training in software testing,ludhiana6 weeks summer training in software testing,ludhiana
6 weeks summer training in software testing,ludhiana
 
6 weeks summer training in labview,ludhiana
6 weeks summer training in labview,ludhiana6 weeks summer training in labview,ludhiana
6 weeks summer training in labview,ludhiana
 
6months industrial training in labview, ludhiana
6months industrial training in labview, ludhiana6months industrial training in labview, ludhiana
6months industrial training in labview, ludhiana
 
6 weeks summer training in hfss,ludhiana
6 weeks summer training in hfss,ludhiana6 weeks summer training in hfss,ludhiana
6 weeks summer training in hfss,ludhiana
 
6months industrial training in hfss, ludhiana
6months industrial training in hfss, ludhiana6months industrial training in hfss, ludhiana
6months industrial training in hfss, ludhiana
 
6 weeks summer training in fuzzy logic,ludhiana
6 weeks summer training in fuzzy logic,ludhiana6 weeks summer training in fuzzy logic,ludhiana
6 weeks summer training in fuzzy logic,ludhiana
 
6 weeks summer training in embedded,ludhiana
6 weeks summer training in embedded,ludhiana6 weeks summer training in embedded,ludhiana
6 weeks summer training in embedded,ludhiana
 
6 weeks summer training in data mining,ludhiana
6 weeks summer training in data mining,ludhiana6 weeks summer training in data mining,ludhiana
6 weeks summer training in data mining,ludhiana
 
6months industrial training in data mining,ludhiana
6months industrial training in data mining,ludhiana6months industrial training in data mining,ludhiana
6months industrial training in data mining,ludhiana
 
6 weeks summer training in android,ludhiana
6 weeks summer training in android,ludhiana6 weeks summer training in android,ludhiana
6 weeks summer training in android,ludhiana
 
Vlsi final year project in jalandhar
Vlsi final year project in jalandharVlsi final year project in jalandhar
Vlsi final year project in jalandhar
 
Opnet final year project in jalandhar
Opnet final year project in jalandharOpnet final year project in jalandhar
Opnet final year project in jalandhar
 
Matlab final year project in jalandhar
Matlab final year project in jalandharMatlab final year project in jalandhar
Matlab final year project in jalandhar
 

Último

Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...anjaliyadav012327
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...Pooja Nehwal
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 

Último (20)

Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 

6months industrial training in software testing, ludhiana

  • 1. 1
  • 2.
  • 3. 3 • One of the practical methods commonly used to detect the presence of errors (failures) in a computer program is to test it for a set of inputs. Our program The output is correct? I1, I2, I3, …, In, … Expected results = ? Obtained results “Inputs” - No code inspection - No code analysis - No model checking - No bug fixing - No debugging
  • 4.  At which level conducting the testing?  Unit  Integration  System  How to choose inputs?  using the specifications/use cases/requirements  using the code  How to identify the expected output?  Test oracles  How good test cases are?  When we can stop the testing activity 4
  • 5.  Acceptance Testing – this checks if the overall system is functioning as required.  Unit testing – this is basically testing of a single function, procedure, class.  Integration testing – this checks that units tested in isolation work properly when put togheter.  System testing – here the emphasis is to ensure that the whole system can cope with real data, monitor system performance, test the system’s error handling and recovery routines.  Regression TestingRegression Testing – this checks that the system preserves its functionality after maintenance and/or evolution tasks. 5
  • 6. 6 Business Logic GUI Web UI Persistence Layer Abbot/JFCUnit/Marathon… HttpUnit/Canoo/Selenium Junit/SQLUnit/XMLUnit FIT/Fitnesse (High level) Junit (Low level) Cactus Perfomance and Load Testing JMeter/JUnitPerf Testing tools
  • 7.  Unit Tests are tests written by the developers to test functionality as they write it.  Each unit test typically tests only a single class, or a small cluster of classes.  Unit tests are typically written using a unit testing framework, such as JUnit (automatic unit tests).  Target errors not found by Unit testing: - Requirements are mis-interpreted by developer. - Modules don’t integrate with each other 7
  • 8. 8 Testing based on the coverage of the executed program (source) code. Different coverage criteria: • statement coverage • path coverage • condition coverage • definition-use coverage • ….. It is often the case that it is not possible to cover all code. For instance: - for the presence of dead code (not executable code) - for the presence of not feasible path in the CFG - etc. Unit testing: a white-box approach project
  • 9.  Acceptance Tests are specified by the customer and analyst to test that the overall system is functioning as required (Do developers build the right system?).  Acceptance tests typically test the entire system, or some large chunk of it.  When all the acceptance tests pass for a given user story (or use case, or textual requirement), that story is considered complete.  At the very least, an acceptance test could consist of a script of user interface actions and expected results that a human can run.  Ideally acceptance tests should be automated, either using the unit testing framework (Junit), or a separate acceptance testing framework (Fitnesse). 9
  • 10.  Used to judge if the product is acceptable to the customer  Coarse grained tests of business operations  Scenario/Story-based (contain expectations)  Simple:  Happy paths (confirmatory)  Sad paths  Alternative paths (deviance) 10
  • 11. 11 1.describe the system using a Use-Cases Diagram * a use-case of that diagram represents a functionality implemented by the system 2.detail each use-case with a textual description of, e.g., its pre-post conditions and flow of events * events are related to: (i) the interactions between system and user; and (ii) the expected actions of the system * a flow of events is composed of basic and alternate flows 3.define all instances of each use-case (scenarios) executing the system for realizing the functionality 4.define, at least, one test case for each scenario 5.(opt) define additional test cases to test the interaction between use-cases. Acceptance testing: a black-box approach project
  • 12. 12 Different approaches can be used: - Random values: - for each input parameter we randomly select the values - Tester Experience: - for each input we use our experience to select relevant values to test - Domain knowledge: - we use requirements information or domain knowledge information to identify relevant values for inputs How to select input values? (1) project
  • 13. 13 Different approaches can be used: - Equivalence classes: - we subdivide the input domain into a small number of sub-domains - the equivalence classes are created assuming that the SUT exhibits the same behavior on all elements - few values for each classes can be used for our testing - Boundary values: – is a test selection technique that targets faults in applications at the “boundaries” of equivalence classes – experience indicates that programmers make mistakes in processing values at and near the boundaries of equivalence classes How to select input values? (2) project
  • 14. 14 - Combinatorial testing: - test all possible combination of the inputs is often impossible e.g., method(a:int,b:int,c:int) .. how many combinations? with 10 values per input: 10 3 =1000 with 100 values per input: 100 3 =1000000 - selection of relevant combinations is important - Pairwise testing (aka 2-way): cover all combinations for each pair of inputs <a,b> <a,c> <b,c> = 10 2 + 10 2 +10 2 =300 don’t care about the value of the third input How to select input values? (3) project
  • 15. 15 + system increment Prioritized functionalities Write acceptance tests Execute acceptance tests Write and execute unit tests “At different points in the process” “Executed after the development”“Written before”
  • 16. 16 The motivation of unit testing is finding faults.The motivation of acceptance testing is demonstrating working functionalities. Written and executed during the development.Written before the development and executed after. Written using a unit testing framework.Written using an acceptance testing framework (also unit testing framework). Starting point: new capability (to add a new module/function or class/method). Starting point: User stories, User needs, Use Cases, Textual Requirements, … Used to find faults in individual modules or units (individual programs, functions, procedures, web pages, menus, classes, …) of source code. Used for documentation (low level) Used to verify that the implementation is complete and correct. Used for Integration, System, and regression testing. Used to indicate the progress in the development phase. (Usually as %). Used as a contract. Used for documentation (high level) (extreme programming) When unit tests pass, write another test that fails. (extreme programming) When acceptance tests pass, stop coding. The job is done. Written by developers.Written by Customer and Analyst. Unit TestsAcceptance Tests In theory:
  • 17. In practice: The difference is not so clear-cut.  We can often use the same tools for either or both kinds of tests. 17
  • 18.  Manual Acceptance testing. User exercises the system manually using his creativity.  Acceptance testing with “GUI Test Drivers” (at the GUI level). These tools help the developer do functional/acceptance testing through a user interface such as a native GUI or web interface. “Capture and Replay” Tools capture events (e.g. mouse, keyboard) in modifiable script. 18 Disadvantages: expensive, error prone, not repeatable, … Disavantages: Tests are brittle, i.e., have to be re-captured if the GUI changes. “Avoid acceptance testing only in final stage: Too late to find bugs”
  • 19.  Starting from a user story (or use case or textual requirement), the customer enters in a table (spreadsheet application, html, Word, …) the expectations of the program’s behavior.  At this point tables can be used as oracle. The customer can manually insert inputs in the System and compare outputs with expected results. 19 Pro: help to clarify requirements, used in System testing, … Cons: expensive, error prone, … inputs output
  • 20.  It is estimated that 85% of the defects in developed software originate in the requirements (communication between customer and analyst, communication between analyst and developer).  There are several “sins” to avoid when specifying requirements:  noise  silence  ambiguity  over-specification  wishful thinking,  … => ambiguous, inconsistent, unusable requirements. 20 “order-processing system for a brewery”  if a retail store buys 50 cases of a seasonal brew, no discount is applied; but if the 50 cases are not seasonal a 12% discount is applied. If a store buys 100 cases of a seasonal brew, a discount is applied, but it's only 5%. A 100-case order of a non- seasonal drink is discounted at 17%. There are similar rules for buying in quantities of 200. Table-based test cases can help in clarifying requirements
  • 21.  We have a thick GUI that has program logic. The interfaces between the modules are not clearly defined.  Testing of specific functions (Unit Testing) cannot be isolated.  Testing has to be done through the GUI => Fit/Fitnesse is not sufficient.  Testing is difficult. 21 “Badly designed system” GUI Test Drivers
  • 22.  The GUI does not contain any program logic other than dealing with presentation.  The interfaces between the modules are well defined.  This give us testing advantages. Unit and System acceptance testing are simpler. 22 “Well architected application”
  • 23.  When an application has modules with well defined interfaces, each module can be tested independently from the other modules.  Using this type of environment the developer can test the module to make sure everything is working before trying to integrate it with other modules.  This system does not require Fit/ FitNesse. You could use any automated test harness that works for your application (i.e., Junit). 23 Test Tool = Fit/Fitnesse or Junit
  • 24.  Badly designed systems makes testing difficult. Unit testing is complex and all end-to-end tests are through the GUI.  Well architected applications simplify testing. Unit testing is simple and end-to-end tests are through interfaces of modules.  The motivation of Acceptance testing is demonstrating working functionalities.  The motivation of Junit is finding faults.  Manual acceptance testing is expensive, error prone and not repeatable.  Table-based test cases help to clarify “textual requirements”.  Table-based test cases can be “requirements verifiable and executable”.  Table-based test cases can be useful for Managers, Customers, Analysts and Developers. 24
  • 25. 25 -Jim Heumann. Generating Test Cases From Use Cases. Online IBM journal. 2001 http://ww.ibm.com/developerworks/rational/library/content/RationalEdge/jun01/Gener atingTestCasesFromUseCasesJune01.pdf - Peter Zielczynski. Traceability from Use Cases to Test Cases. online IBM journal 2006 http://www.ibm.com/developerworks/rational/library/04/r-3217/ - R.C.Martin and G.Melnik. Tests and Requirements, Requirements and Tests: A Möbius Strip. IEEE Software 2008. http://www.gmelnik.com/papers/IEEE_Software_Moebius_GMelnik_RMartin.pdf -J. Aarniala, University of Helsinki. Acceptance Testing, Helsinki, October 30, 2006. www.cs.helsinki.fi/u/jaarnial/jaarnial-testing.pdf