SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
Evalua+ng 
the 
TESTAR 
tool 
in 
an 
Industrial 
Case 
Study 
Test * 
Tanja 
E. 
J. 
Vos 
So#ware 
Tes+ng 
and 
Quality 
Group 
Research 
center 
for 
So#ware 
Produc+on 
Methods 
(PROS) 
Universidad 
Politecnica 
de 
Valencia 
Spain
Context: 
State 
of 
the 
art 
in 
UI 
tes+ng 
• Capture 
Replay 
• Visual 
tes+ng 
• (ui) 
title: "Button" 
enabled: false 
hasFocus: true 
rect: [15, 25, 65, 55] 
title: "File" 
Model-­‐based 
tes7ng 
-­‐-­‐ 
TESTAR 
– Based 
title: "Button" 
enabled: false 
hasFocus: true 
rect: [15, 25, 65, 55] 
on 
automa+cally 
inferred 
tree 
model 
of 
the 
UI 
– Tests 
sequences 
are 
derived 
automa+cally 
from 
the 
model 
– Executed 
sequences 
can 
be 
replayed 
– If 
title: "File" 
UI 
changes 
so 
does 
the 
model/tests 
-­‐> 
no 
maintenance 
of 
the 
tests 
– Programming 
skills 
are 
needed 
to 
define 
powerful 
oracles 
• Needs 
to 
inves+gated 
more 
if 
this 
is 
really 
a 
problem…. 
• Do 
we 
want 
testers 
to 
have 
programming 
skills? 
type: TButton 
... 
Window 
Button Text Menu Slider 
MI MI MI MI 
type: TMenuItem 
... 
ABC 
type: TButton 
... 
MI MI MI MI 
type: TMenuItem 
... 
ABC 
Test *
6 
START 
SUT 
Domain Experts 
SCAN GUI + 
OBTAIN 
WIDGET TREE 
more 
actions? 
DERIVE SET 
OF USER 
ACTIONS 
EXECUTE 
ACTION 
calculate 
fitness of test 
sequence 
No 
Yes 
Action 
Definitions 
Oracle 
Definition 
STOP 
SUT 
SUT 
optional 
instrumentation 
Replayable Erroneous Sequences 
FAULT? ORACLE 
Yes 
No 
more sequences? 
SELECT 
ACTION 
How 
it works.. 
Test *
Method: 
TESTAR 
tool 
READY 
9 
Set 
path 
the 
SUT
Method: 
TESTAR 
tool 
SET 
10 
Filter: 
1) 
undesirable 
ac+ons, 
i.e. 
closing 
the 
applica+on 
al 
the 
+me 
2) 
Undesirable 
processes, 
for 
example 
help 
panes 
in 
acrobat, 
etc…….
11 
GO! 
There 
is 
a 
nice 
video 
at 
h]ps://www.youtube.com/watch? 
v=PBs9jF_pLCs
Oracles 
for 
free 
• What 
can 
we 
easily 
detect? 
• Crashes 
• Program 
freezes
13 
Cheap 
Oracles 
• Cri+cal 
message 
boxes 
• Suspicious 
stdout 
/ 
stderr
Specifying 
Cheap 
Oracles 
• Simply 
with 
regular 
Expressions 
• For 
example: 
.*NullPointerExcep+on 
.*|[Ee]rror|[Pp]roblem
More 
sophis+ca+on 
needs 
work 
• Ac+ons 
– Ac+on 
detec+on 
– Ac+on 
selec+on 
– Some+mes 
a 
trial/error 
process 
• Random 
selec+on 
= 
like 
a 
child, 
just 
much 
faster 
• Prin+ng, 
file 
copying 
/ 
moving 
/ 
dele+ng 
• Starts 
other 
Processes 
• Rights 
management, 
dedicated 
user 
accounts, 
disallow 
ac+ons 
• Oracles 
that 
need 
programming
How? 
Edit 
the 
protocol 
16
The 
protocol 
editor
18 
START 
SUT 
Domain Experts 
SCAN GUI + 
OBTAIN 
WIDGET TREE 
more 
actions? 
DERIVE SET 
OF USER 
ACTIONS 
EXECUTE 
ACTION 
calculate 
fitness of test 
sequence 
No 
Yes 
Action 
Definitions 
Oracle 
Definition 
STOP 
SUT 
SUT 
optional 
instrumentation 
Replayable Erroneous Sequences 
FAULT? ORACLE 
Yes 
No 
more sequences? 
SELECT 
ACTION 
Test * 
protected SUT startSystem() ! 
throws SystemStartException!
19 
START 
SUT 
Domain Experts 
SCAN GUI + 
OBTAIN 
WIDGET TREE 
more 
actions? 
DERIVE SET 
OF USER 
ACTIONS 
EXECUTE 
ACTION 
calculate 
fitness of test 
sequence 
No 
Yes 
Action 
Definitions 
Oracle 
Definition 
STOP 
SUT 
SUT 
optional 
instrumentation 
Replayable Erroneous Sequences 
FAULT? ORACLE 
Yes 
No 
more sequences? 
SELECT 
ACTION 
Test * 
protected Verdict getVerdict(State state);!
getVerdict! 
Verdict 
…. 
private 
final 
String 
info; 
private 
final 
double 
severity; 
private 
final 
Visualizer 
visualizer; 
(double 
severity, 
String 
info) 
public 
Verdict(double 
severity, 
String 
info, 
Visualizer 
v) 
20 
protected 
Verdict 
getVerdict(State 
state){ 
Assert.notNull(state); 
//-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ 
// 
ORACLES 
FOR 
FREE 
//-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ 
// 
if 
the 
SUT 
is 
not 
running, 
we 
assume 
it 
crashed 
if(!state.get(IsRunning, 
false)) 
return 
new 
public 
final 
class 
public 
Verdict 
Verdict(1.0, 
"System 
is 
offline! 
I 
assume 
it 
crashed!"); 
{ 
// 
if 
the 
SUT 
does 
not 
respond 
within 
a 
given 
amount 
of 
+me, 
we 
assume 
it 
crashed 
if(state.get(NotResponding, 
false)) 
return 
new 
Verdict(0.8, 
"System 
is 
unresponsive! 
I 
assume 
something 
is 
wrong!");
getVerdict! 
21 
//-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ 
// 
ORACLES 
ALMOST 
FOR 
FREE 
//-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ 
String 
+tleRegEx 
= 
seqngs().get(SuspiciousTitles); 
// 
search 
all 
widgets 
for 
suspicious 
+tles 
for(Widget 
w 
: 
state){ 
String 
+tle 
= 
w.get(Title, 
""); 
if(+tle.matches(+tleRegEx)){ 
// 
visualize 
the 
problema+c 
widget, 
by 
marking 
it 
with 
a 
red 
box 
Visualizer 
visualizer 
= 
U+l.NullVisualizer; 
if(w.get(Tags.Shape, 
null) 
!= 
null){ 
Pen 
redPen 
= 
Pen.newPen().setColor(Color.Red).(…).build(); 
visualizer 
= 
new 
ShapeVisualizer(redPen, 
….., 
"Suspicious 
Title", 
0.5, 
0.5); 
} 
return 
new 
Verdict(1.0, 
"Discovered 
suspicious 
widget 
+tle: 
'" 
+ 
+tle 
+ 
"'.", 
visualizer); 
} 
}
getVerdict! 
22 
//-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ 
// 
MORE 
SOPHISTICATED 
ORACLES 
CAN 
BE 
PROGRAMMED 
HERE 
//-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ 
The 
sky 
is 
the 
limit 
;-­‐) 
// 
if 
everything 
was 
ok... 
return 
new 
Verdict(0.0, 
"No 
problem 
detected.", 
U+l.NullVisualizer);; 
}
SoFeam 
• FITTEST 
EU 
project 
• partner 
from 
France 
• Big 
so#ware 
company 
• SUT 
selected 
for 
evalua+ng 
TESTAR: 
Modelio 
SaaS 
• Modelio 
SaaS: 
! – PHP 
web 
applica+on 
– For 
the 
transparent 
configura+on 
of 
distributed 
environments 
that 
run 
projects 
created 
with 
SOFTEAM’s 
Modelio 
Modeling 
tool 
– Administrators 
use 
this 
applica+on 
to 
manage 
servers 
and 
projects 
that 
run 
in 
virtual 
environments 
on 
different 
cloud 
plaxorms 
• Current 
tes+ng 
done 
manually
Case 
Study 
Procedure 
24 
INTRODUCTORY 
COURSE 
CONSOLIDATE FINAL 
PROTOCOL 
RUN THE 
PROTOCOL 
Level 2: 
HANDS ON 
LEARNING 
TRAINING PHASE 
Level 3: 
PERFORMANCE 
EXAMS 
SUCCESS? 
YES 
SETTING-UP 
A WORKING TEST 
ENVIRONMENT 
Example 
SUTS 
USER 
MANUAL 
SOFTEAM 
INSTALLING 
TOOL 
Example 
SUTS 
TESTING PHASE 
EVALUATE 
TEST RESULTS 
NO 
TRAINER 
WORKING 
DIARIES PROTOCOL 
PROTOCOL 
SUFFICIENT 
QUALITY? 
YES 
NO 
PRPORTOOTCOOCLOL 
EVOLUTIONS 
LEARNABILITY-QUESTIONNAIRE 
(A) 
LEARNABILITY-QUESTIONNAIRE 
(B) 
SATISFACTION-INTERVIEW 
Level 1: 
REACTION 
EVALUATE 
COURSE QUALITY 
QUESTIONNAIRE 
We 
measured: 
• Learnability 
(ques+onnaires, 
work-­‐diaries, 
performance 
evalua+ons) 
• Effec+veness 
– 17 
faults 
were 
re-­‐injected 
to 
evaluate 
– Code 
coverage 
• Efficiency 
– Time 
for 
set-­‐up, 
designing 
and 
develop 
– Time 
for 
running 
tests
following the work in [4]. The pur-pose 
questionnaire is to complement the 
order to determine whether 
with their given answers. 
Results 
COLLECTION 
included the administration of 
examination, working diaries, 
TESTAR protocol artifacts (oracle, 
video-taped interviews with the 
diaries, the trainees reported 
over the hands-on learning pe-riod 
schedule. Table 2 shows the 
activities. 
Time reported (min) 
S1 S2 In Pairs 
1200 30 30 
820 30 20 
30 0 10 
240 20 30 
60 10 15 
2350 90 105 
activities during the hands-on 
of the di↵erent TESTARs se-tups, 
The trainer rated each artifact 
Figure 3: Evolution of artifact quality as rated by 
the trainer 
Description 
Test Suite 
TSSoft TSTestar 
Faults discovered 14 + 1 10 + 1 
Did not find IDs 1, 9, 12 1,4,8,12,14,15,16 
Code coverage 86.63% 70.02% 
Time spent on development 40h 36h 
Run time manual automated 
1h 10m 77h 26m 
Faults diagnosis and report 2h 3h 30m 
Faults reproducible 100% 91.76% 
Number of test cases 51 dynamic 
Table 3: Comparison between tests 
learning, and at point B, after the hands-on learning. The 
questions have been taken from [9] where the authors are 
analyzing the learnability of CASE tools. They have been 
divided into 7 categories to separate di↵erent aspects of the 
tool. It consists of 18 items in 5-points likert scale. 
5. ANALYSIS 
RQ1: How learnable is the TESTAR tool when it is used by 
testing practitioners of SOFTEAM? 
Empirical data was collected in order to analyze learnabil-ity 
at the three identified di↵erent levels. 
Reaction (level 1) - Responses from two questionnaires 
can definitely compete with that of 
SOFTEAM. The subjects felt confident 
bit more time in customizing the 
oracles, the TESTAR tool would 
as their manual test suite w.r.t. 
capability. This could save them 
test suite in the future. 
subjects found the investment in learn-ing 
spending e↵ort in writing Java 
worthwhile since they were sure 
often the tests are run in an au-tomated 
satisfied with the experience and 
their peer colleagues. To persuade 
some more in the tool (for example 
to research how good the auto-mated 
how re-usable they are amongst 
perceived as difficult. Neverthe-less, 
definitely detected. 
criticism regarding the documenta-tion 
of the tool, the testers’ reactions 
during the interviews and the 
that they were satisfied with the 
came to a similar conclusion regard-ing 
Although, the trainer reported 
action set definition, the con-stant 
of artefact quality during the 
ease of learnability. These items 
work to enhance the tool. 
of Information Technology Education: Research, 
4(1):61–84, January 2005. 
[10] A. Zendler, E. Horn, H. Schwartzel, and E. Plodereder. 
Demonstrating the usage of single-case designs in 
experimental software engineering. Information and 
Software Technology, 43(12):681 – 691, 2001. 
APPENDIX 
Faces were rated with a scale from 1 to7 where 1 represented ”Not 
at all” and 7 represented ”Very much”. 
Would you recommend Could you pursuade 
the tool to your colleagues? your management to invest? 
1 2 3 4 5 6 7 
X 
1 2 3 4 5 6 7 
X 
Would you recommend Could you pursuade 
the tool to your colleagues? your management to invest? 
1 2 3 4 5 6 7 
X 
1 2 3 4 5 6 7 
X 
the tool in such a way that it detected a fair amount 
injected faults. This gives insight into the training ma-terial 
and the user manual that needs to be improved and 
concentrate more on giving examples and guidance on more 
sophisticated oracles. Also, we might need to research and 
develop a wizard that can customize the protocol without 
programming. 
The e↵ectiveness and efficiency of the automated tests 
generated with TESTAR can definitely compete with that of 
manual tests of SOFTEAM. The subjects felt confident 
they would invest a bit more time in customizing the 
selection and the oracles, the TESTAR tool would 
best or even better as their manual test suite w.r.t. 
coverage and fault finding capability. This could save them 
manual execution of the test suite in the future. 
The SOFTEAM subjects found the investment in learn-ing 
TESTAR tool and spending e↵ort in writing Java 
for powerful oracles worthwhile since they were sure 
would pay o↵ the ore often the tests are run in an au-tomated 
way. They were satisfied with the experience and 
animated to show their peer colleagues. To persuade 
management and invest some more in the tool (for example 
doing follow-up studies to research how good the auto-mated 
tests can get and how re-usable they are amongst 
versions of the SUT) was perceived as difficult. Neverthe-less, 
enthusiasm to try was definitely detected. 
summary, despite criticism regarding the documenta-tion 
and installation process of the tool, the testers’ reactions 
statements encountered during the interviews and the 
questionnaire, indicate that they were satisfied with the 
experience. We came to a similar conclusion regard-ing 
tool’s learnability. Although, the trainer reported 
difficulties with the action set definition, the con-stant 
progress and increase of artefact quality during the 
study, points to an ease of learnability. These items 
improved in future work to enhance the tool. 
REFERENCES 
studies for method and tool evaluation. Software, 
IEEE, 12(4):52 –62, July 1995. 
[8] P.M. Kruse, N. Condori-Fernandez, T.E.J. Vos, 
A. Bagnato, and E. Brosse. Combinatorial testing tool 
learnability in an industrial environment. In ESEM 
2013, pages 304–312, Oct 2013. 
[9] M. Senapathi. A framework for the evaluation of case 
tool learnability in educational environments. Journal 
of Information Technology Education: Research, 
4(1):61–84, January 2005. 
[10] A. Zendler, E. Horn, H. Schwartzel, and E. Plodereder. 
Demonstrating the usage of single-case designs in 
experimental software engineering. Information and 
Software Technology, 43(12):681 – 691, 2001. 
APPENDIX 
Faces were rated with a scale from 1 to7 where 1 represented ”Not 
at all” and 7 represented ”Very much”. 
Would you recommend Could you pursuade 
the tool to your colleagues? your management to invest? 
1 2 3 4 5 6 7 
X 
1 2 3 4 5 6 7 
X 
Would you recommend Could you pursuade 
the tool to your colleagues? your management to invest? 
1 2 3 4 5 6 7 
X 
1 2 3 4 5 6 7 
X 
• Some 
difficul+es/resistance/ 
misunderstanding 
during 
the 
learning 
of 
programming 
for 
powerful 
oracles 
• Tes+ng 
ar+facts 
produced 
increased 
in 
quality 
– Red 
= 
Oracle 
– Green 
= 
Ac+on 
Set 
– Blue 
= 
Stopping 
Criteria 
the 
cards 
tool 
perceived 
Would 
your 
argu-ments 
sat-isfaction 
in-terview 
expression 
pur-pose 
the 
whether 
administration of 
diaries, 
oracle, 
the 
reported 
pe-riod 
the 
hands-on 
se-tups, 
artifact 
stopping 
sub-mitted 
Figure 3: Evolution of artifact quality as rated by 
the trainer 
Description 
Test Suite 
TSSoft TSTestar 
Faults discovered 14 + 1 10 + 1 
Did not find IDs 1, 9, 12 1,4,8,12,14,15,16 
Code coverage 86.63% 70.02% 
Time spent on development 40h 36h 
Run time manual automated 
1h 10m 77h 26m 
Faults diagnosis and report 2h 3h 30m 
Faults reproducible 100% 91.76% 
Number of test cases 51 dynamic 
Table 3: Comparison between tests 
learning, and at point B, after the hands-on learning. The 
questions have been taken from [9] where the authors are 
analyzing the learnability of CASE tools. They have been 
divided into 7 categories to separate di↵erent aspects of the 
tool. It consists of 18 items in 5-points likert scale. 
5. ANALYSIS 
RQ1: How learnable is the TESTAR tool when it is used by 
testing practitioners of SOFTEAM? 
Empirical data was collected in order to analyze learnabil-ity 
at the three identified di↵erent levels. 
Reaction (level 1) - Responses from two questionnaires 
about first impressions of the course (quality and learnability
Future 
Work 
• S+ll 
lot 
that 
needs 
to 
be 
done! 
• Accessibility 
API 
works 
if 
UI 
has 
been 
programmed 
“well” 
• Research 
more 
search-­‐based 
approaches 
for 
ac+on 
selec+on 
• Research 
the 
integra+on 
of 
other 
test 
case 
genera+on 
techniques 
(model-­‐based, 
combinatorial-­‐based) 
for 
ac+on 
selec+on 
• Design 
a 
test 
spec 
language 
that 
makes 
it 
possible 
to 
specify 
ac+ons 
and 
oracles 
without 
programming 
Java 
• Do 
more 
industrial 
evalua+ons 
to 
compare 
maintenance 
costs 
during 
regression 
tes+ng 
with 
our 
tool 
and 
capture/replay 
or 
visual 
tes+ng 
tools 
• Extend 
the 
tool 
beyond 
PC 
applica+ons 
(for 
now 
we 
have 
Mac 
and 
Windows 
plug-­‐ins) 
to 
mobile 
plaxorms 
26
• Tanja 
E. 
J. 
Vos 
• email: 
tvos@pros.upv.es 
• skype: 
tanja_vos 
• web: 
h]p://tanvopol.webs.upv.es/ 
• telephone: 
+34 
690 
917 
971

Más contenido relacionado

La actualidad más candente

Sample Chapter of Practical Unit Testing with TestNG and Mockito
Sample Chapter of Practical Unit Testing with TestNG and MockitoSample Chapter of Practical Unit Testing with TestNG and Mockito
Sample Chapter of Practical Unit Testing with TestNG and MockitoTomek Kaczanowski
 
GeeCON 2012 Bad Tests, Good Tests
GeeCON 2012 Bad Tests, Good TestsGeeCON 2012 Bad Tests, Good Tests
GeeCON 2012 Bad Tests, Good TestsTomek Kaczanowski
 
Confitura 2012 Bad Tests, Good Tests
Confitura 2012 Bad Tests, Good TestsConfitura 2012 Bad Tests, Good Tests
Confitura 2012 Bad Tests, Good TestsTomek Kaczanowski
 
JUnit- A Unit Testing Framework
JUnit- A Unit Testing FrameworkJUnit- A Unit Testing Framework
JUnit- A Unit Testing FrameworkOnkar Deshpande
 
NicoleMaguire_NEES_FinalReport
NicoleMaguire_NEES_FinalReportNicoleMaguire_NEES_FinalReport
NicoleMaguire_NEES_FinalReportNicole Maguire
 
Testes? Mas isso não aumenta o tempo de projecto? Não quero...
Testes? Mas isso não aumenta o tempo de projecto? Não quero...Testes? Mas isso não aumenta o tempo de projecto? Não quero...
Testes? Mas isso não aumenta o tempo de projecto? Não quero...Comunidade NetPonto
 
Introduction to Snabbkaffe
Introduction to SnabbkaffeIntroduction to Snabbkaffe
Introduction to SnabbkaffeEMQ
 
05 junit
05 junit05 junit
05 junitmha4
 
Quick test professional certifcation questions and tutorial2
Quick test professional certifcation questions and tutorial2Quick test professional certifcation questions and tutorial2
Quick test professional certifcation questions and tutorial2Ramu Palanki
 
Next Generation Developer Testing: Parameterized Testing
Next Generation Developer Testing: Parameterized TestingNext Generation Developer Testing: Parameterized Testing
Next Generation Developer Testing: Parameterized TestingTao Xie
 

La actualidad más candente (20)

Sample Chapter of Practical Unit Testing with TestNG and Mockito
Sample Chapter of Practical Unit Testing with TestNG and MockitoSample Chapter of Practical Unit Testing with TestNG and Mockito
Sample Chapter of Practical Unit Testing with TestNG and Mockito
 
GeeCON 2012 Bad Tests, Good Tests
GeeCON 2012 Bad Tests, Good TestsGeeCON 2012 Bad Tests, Good Tests
GeeCON 2012 Bad Tests, Good Tests
 
Confitura 2012 Bad Tests, Good Tests
Confitura 2012 Bad Tests, Good TestsConfitura 2012 Bad Tests, Good Tests
Confitura 2012 Bad Tests, Good Tests
 
JUnit- A Unit Testing Framework
JUnit- A Unit Testing FrameworkJUnit- A Unit Testing Framework
JUnit- A Unit Testing Framework
 
NicoleMaguire_NEES_FinalReport
NicoleMaguire_NEES_FinalReportNicoleMaguire_NEES_FinalReport
NicoleMaguire_NEES_FinalReport
 
Testes? Mas isso não aumenta o tempo de projecto? Não quero...
Testes? Mas isso não aumenta o tempo de projecto? Não quero...Testes? Mas isso não aumenta o tempo de projecto? Não quero...
Testes? Mas isso não aumenta o tempo de projecto? Não quero...
 
Introduction to Snabbkaffe
Introduction to SnabbkaffeIntroduction to Snabbkaffe
Introduction to Snabbkaffe
 
Software testing basics and its types
Software testing basics and its typesSoftware testing basics and its types
Software testing basics and its types
 
Introduction to JUnit
Introduction to JUnitIntroduction to JUnit
Introduction to JUnit
 
JUnit Presentation
JUnit PresentationJUnit Presentation
JUnit Presentation
 
Junit 4.0
Junit 4.0Junit 4.0
Junit 4.0
 
Junit
JunitJunit
Junit
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Thread & concurrancy
Thread & concurrancyThread & concurrancy
Thread & concurrancy
 
05 junit
05 junit05 junit
05 junit
 
JUNit Presentation
JUNit PresentationJUNit Presentation
JUNit Presentation
 
Quick test professional certifcation questions and tutorial2
Quick test professional certifcation questions and tutorial2Quick test professional certifcation questions and tutorial2
Quick test professional certifcation questions and tutorial2
 
Next Generation Developer Testing: Parameterized Testing
Next Generation Developer Testing: Parameterized TestingNext Generation Developer Testing: Parameterized Testing
Next Generation Developer Testing: Parameterized Testing
 
J Unit
J UnitJ Unit
J Unit
 
Why Unit Testingl
Why Unit TestinglWhy Unit Testingl
Why Unit Testingl
 

Destacado

Case study 2 storke-elements of mechanical engineering
Case study 2 storke-elements of mechanical engineeringCase study 2 storke-elements of mechanical engineering
Case study 2 storke-elements of mechanical engineeringKaushal Patel
 
Industrial case study report (Final)
Industrial case study report (Final)Industrial case study report (Final)
Industrial case study report (Final)pranay kumar
 
Financial Analysis of Hindustan motorsLtd
Financial Analysis of Hindustan motorsLtdFinancial Analysis of Hindustan motorsLtd
Financial Analysis of Hindustan motorsLtdTony Sebastian
 
Case Study Presentation by G D Uppin
Case Study Presentation by G D UppinCase Study Presentation by G D Uppin
Case Study Presentation by G D UppinGirish Uppin
 
Hindustan Motors
Hindustan MotorsHindustan Motors
Hindustan Motorsmindway
 
Supply Chain Integration: Practices & Customer values
Supply Chain Integration: Practices & Customer valuesSupply Chain Integration: Practices & Customer values
Supply Chain Integration: Practices & Customer valuesMeysam Maleki
 
Automation process -BMW case study
Automation process -BMW case studyAutomation process -BMW case study
Automation process -BMW case studyCALM-SUTRA
 
Bhopal gas tragedy - best presentation ever
Bhopal gas tragedy - best presentation everBhopal gas tragedy - best presentation ever
Bhopal gas tragedy - best presentation everYousuf S A
 
Bhopal Gas Tragedy case study
Bhopal Gas Tragedy case studyBhopal Gas Tragedy case study
Bhopal Gas Tragedy case studyPrashant Joon
 

Destacado (12)

INDUSTRIAL CASE STUDY
INDUSTRIAL CASE STUDYINDUSTRIAL CASE STUDY
INDUSTRIAL CASE STUDY
 
Case study 2 storke-elements of mechanical engineering
Case study 2 storke-elements of mechanical engineeringCase study 2 storke-elements of mechanical engineering
Case study 2 storke-elements of mechanical engineering
 
Industrial case study report (Final)
Industrial case study report (Final)Industrial case study report (Final)
Industrial case study report (Final)
 
Financial Analysis of Hindustan motorsLtd
Financial Analysis of Hindustan motorsLtdFinancial Analysis of Hindustan motorsLtd
Financial Analysis of Hindustan motorsLtd
 
Case Study Presentation by G D Uppin
Case Study Presentation by G D UppinCase Study Presentation by G D Uppin
Case Study Presentation by G D Uppin
 
Hindustan Motors
Hindustan MotorsHindustan Motors
Hindustan Motors
 
Hindustan Motors
Hindustan MotorsHindustan Motors
Hindustan Motors
 
Supply Chain Integration: Practices & Customer values
Supply Chain Integration: Practices & Customer valuesSupply Chain Integration: Practices & Customer values
Supply Chain Integration: Practices & Customer values
 
Automation process -BMW case study
Automation process -BMW case studyAutomation process -BMW case study
Automation process -BMW case study
 
Bhopal gas tragedy - best presentation ever
Bhopal gas tragedy - best presentation everBhopal gas tragedy - best presentation ever
Bhopal gas tragedy - best presentation ever
 
Bhopal Gas Tragedy case study
Bhopal Gas Tragedy case studyBhopal Gas Tragedy case study
Bhopal Gas Tragedy case study
 
Case study of tata steel ppt
Case study of tata steel pptCase study of tata steel ppt
Case study of tata steel ppt
 

Similar a Esem2014 presentation

Testar2014 presentation
Testar2014 presentationTestar2014 presentation
Testar2014 presentationTanja Vos
 
Tutorial ranorex
Tutorial ranorexTutorial ranorex
Tutorial ranorexradikalzen
 
Test automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsSteven Li
 
utPLSQL: Unit Testing for Oracle PL/SQL
utPLSQL: Unit Testing for Oracle PL/SQLutPLSQL: Unit Testing for Oracle PL/SQL
utPLSQL: Unit Testing for Oracle PL/SQLSteven Feuerstein
 
ISTQB / ISEB Foundation Exam Practice -1
ISTQB / ISEB Foundation Exam Practice -1ISTQB / ISEB Foundation Exam Practice -1
ISTQB / ISEB Foundation Exam Practice -1Yogindernath Gupta
 
Software Testing
Software TestingSoftware Testing
Software TestingAdroitLogic
 
Chapter 8 Testing Tactics.ppt Software engineering
Chapter 8 Testing Tactics.ppt Software engineeringChapter 8 Testing Tactics.ppt Software engineering
Chapter 8 Testing Tactics.ppt Software engineeringAnasHassan52
 
Mercury Testdirector8.0 using Slides
Mercury Testdirector8.0 using SlidesMercury Testdirector8.0 using Slides
Mercury Testdirector8.0 using Slidestelab
 
1779905011SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pptx
1779905011SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pptx1779905011SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pptx
1779905011SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pptxabhivastrad007
 
ISTQB, ISEB Lecture Notes
ISTQB, ISEB Lecture NotesISTQB, ISEB Lecture Notes
ISTQB, ISEB Lecture Notesonsoftwaretest
 
NG_TEST_Presentation_0510
NG_TEST_Presentation_0510NG_TEST_Presentation_0510
NG_TEST_Presentation_0510techweb08
 
NGTEST_Presentation
NGTEST_PresentationNGTEST_Presentation
NGTEST_Presentationtechweb08
 
NG_TEST_SR_Presentation
NG_TEST_SR_PresentationNG_TEST_SR_Presentation
NG_TEST_SR_Presentationtechweb08
 
Nagios Conference 2011 - Nathan Vonnahme - Integrating Nagios With Test Drive...
Nagios Conference 2011 - Nathan Vonnahme - Integrating Nagios With Test Drive...Nagios Conference 2011 - Nathan Vonnahme - Integrating Nagios With Test Drive...
Nagios Conference 2011 - Nathan Vonnahme - Integrating Nagios With Test Drive...Nagios
 
Effective Unit Test Style Guide
Effective Unit Test Style GuideEffective Unit Test Style Guide
Effective Unit Test Style GuideJacky Lai
 
Quality Assurance
Quality AssuranceQuality Assurance
Quality AssuranceKiran Kumar
 
Mattias Ratert - Incremental Scenario Testing
Mattias Ratert - Incremental Scenario TestingMattias Ratert - Incremental Scenario Testing
Mattias Ratert - Incremental Scenario TestingTEST Huddle
 

Similar a Esem2014 presentation (20)

Testar2014 presentation
Testar2014 presentationTestar2014 presentation
Testar2014 presentation
 
Tutorial ranorex
Tutorial ranorexTutorial ranorex
Tutorial ranorex
 
1
11
1
 
Test automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementations
 
utPLSQL: Unit Testing for Oracle PL/SQL
utPLSQL: Unit Testing for Oracle PL/SQLutPLSQL: Unit Testing for Oracle PL/SQL
utPLSQL: Unit Testing for Oracle PL/SQL
 
ISTQB / ISEB Foundation Exam Practice -1
ISTQB / ISEB Foundation Exam Practice -1ISTQB / ISEB Foundation Exam Practice -1
ISTQB / ISEB Foundation Exam Practice -1
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Chapter 8 Testing Tactics.ppt Software engineering
Chapter 8 Testing Tactics.ppt Software engineeringChapter 8 Testing Tactics.ppt Software engineering
Chapter 8 Testing Tactics.ppt Software engineering
 
Mercury Testdirector8.0 using Slides
Mercury Testdirector8.0 using SlidesMercury Testdirector8.0 using Slides
Mercury Testdirector8.0 using Slides
 
1779905011SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pptx
1779905011SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pptx1779905011SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pptx
1779905011SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pptx
 
Chapter 8 Testing Tactics.ppt
Chapter 8 Testing Tactics.pptChapter 8 Testing Tactics.ppt
Chapter 8 Testing Tactics.ppt
 
ISTQB, ISEB Lecture Notes
ISTQB, ISEB Lecture NotesISTQB, ISEB Lecture Notes
ISTQB, ISEB Lecture Notes
 
NG_TEST_Presentation_0510
NG_TEST_Presentation_0510NG_TEST_Presentation_0510
NG_TEST_Presentation_0510
 
NGTEST_Presentation
NGTEST_PresentationNGTEST_Presentation
NGTEST_Presentation
 
NG_TEST_SR_Presentation
NG_TEST_SR_PresentationNG_TEST_SR_Presentation
NG_TEST_SR_Presentation
 
Nagios Conference 2011 - Nathan Vonnahme - Integrating Nagios With Test Drive...
Nagios Conference 2011 - Nathan Vonnahme - Integrating Nagios With Test Drive...Nagios Conference 2011 - Nathan Vonnahme - Integrating Nagios With Test Drive...
Nagios Conference 2011 - Nathan Vonnahme - Integrating Nagios With Test Drive...
 
Effective Unit Test Style Guide
Effective Unit Test Style GuideEffective Unit Test Style Guide
Effective Unit Test Style Guide
 
Quality Assurance
Quality AssuranceQuality Assurance
Quality Assurance
 
Testing
TestingTesting
Testing
 
Mattias Ratert - Incremental Scenario Testing
Mattias Ratert - Incremental Scenario TestingMattias Ratert - Incremental Scenario Testing
Mattias Ratert - Incremental Scenario Testing
 

Más de Tanja Vos

Impress project: Goals and Achievements @ cseet2020
Impress project: Goals and Achievements @ cseet2020Impress project: Goals and Achievements @ cseet2020
Impress project: Goals and Achievements @ cseet2020Tanja Vos
 
FormalZ @ cseet2020
FormalZ @ cseet2020FormalZ @ cseet2020
FormalZ @ cseet2020Tanja Vos
 
SBST 2015 - 3rd Tool Competition for Java Junit test Tools
SBST 2015 - 3rd Tool Competition for Java Junit test ToolsSBST 2015 - 3rd Tool Competition for Java Junit test Tools
SBST 2015 - 3rd Tool Competition for Java Junit test ToolsTanja Vos
 
Software Testing Innovation Alliance
Software Testing Innovation AllianceSoftware Testing Innovation Alliance
Software Testing Innovation AllianceTanja Vos
 
TAROT summerschool slides 2013 - Italy
TAROT summerschool slides 2013 - ItalyTAROT summerschool slides 2013 - Italy
TAROT summerschool slides 2013 - ItalyTanja Vos
 

Más de Tanja Vos (7)

Impress project: Goals and Achievements @ cseet2020
Impress project: Goals and Achievements @ cseet2020Impress project: Goals and Achievements @ cseet2020
Impress project: Goals and Achievements @ cseet2020
 
FormalZ @ cseet2020
FormalZ @ cseet2020FormalZ @ cseet2020
FormalZ @ cseet2020
 
A-TEST2017
A-TEST2017A-TEST2017
A-TEST2017
 
SBST 2015 - 3rd Tool Competition for Java Junit test Tools
SBST 2015 - 3rd Tool Competition for Java Junit test ToolsSBST 2015 - 3rd Tool Competition for Java Junit test Tools
SBST 2015 - 3rd Tool Competition for Java Junit test Tools
 
Software Testing Innovation Alliance
Software Testing Innovation AllianceSoftware Testing Innovation Alliance
Software Testing Innovation Alliance
 
Testar
TestarTestar
Testar
 
TAROT summerschool slides 2013 - Italy
TAROT summerschool slides 2013 - ItalyTAROT summerschool slides 2013 - Italy
TAROT summerschool slides 2013 - Italy
 

Último

Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
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
 
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
 
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
 
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
 
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
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
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
 
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
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
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.
 
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
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 

Último (20)

Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
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 🔝✔️✔️
 
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
 
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
 
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
 
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-...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
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
 
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...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
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 ...
 
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 ...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 

Esem2014 presentation

  • 1. Evalua+ng the TESTAR tool in an Industrial Case Study Test * Tanja E. J. Vos So#ware Tes+ng and Quality Group Research center for So#ware Produc+on Methods (PROS) Universidad Politecnica de Valencia Spain
  • 2. Context: State of the art in UI tes+ng • Capture Replay • Visual tes+ng • (ui) title: "Button" enabled: false hasFocus: true rect: [15, 25, 65, 55] title: "File" Model-­‐based tes7ng -­‐-­‐ TESTAR – Based title: "Button" enabled: false hasFocus: true rect: [15, 25, 65, 55] on automa+cally inferred tree model of the UI – Tests sequences are derived automa+cally from the model – Executed sequences can be replayed – If title: "File" UI changes so does the model/tests -­‐> no maintenance of the tests – Programming skills are needed to define powerful oracles • Needs to inves+gated more if this is really a problem…. • Do we want testers to have programming skills? type: TButton ... Window Button Text Menu Slider MI MI MI MI type: TMenuItem ... ABC type: TButton ... MI MI MI MI type: TMenuItem ... ABC Test *
  • 3. 6 START SUT Domain Experts SCAN GUI + OBTAIN WIDGET TREE more actions? DERIVE SET OF USER ACTIONS EXECUTE ACTION calculate fitness of test sequence No Yes Action Definitions Oracle Definition STOP SUT SUT optional instrumentation Replayable Erroneous Sequences FAULT? ORACLE Yes No more sequences? SELECT ACTION How it works.. Test *
  • 4. Method: TESTAR tool READY 9 Set path the SUT
  • 5. Method: TESTAR tool SET 10 Filter: 1) undesirable ac+ons, i.e. closing the applica+on al the +me 2) Undesirable processes, for example help panes in acrobat, etc…….
  • 6. 11 GO! There is a nice video at h]ps://www.youtube.com/watch? v=PBs9jF_pLCs
  • 7. Oracles for free • What can we easily detect? • Crashes • Program freezes
  • 8. 13 Cheap Oracles • Cri+cal message boxes • Suspicious stdout / stderr
  • 9. Specifying Cheap Oracles • Simply with regular Expressions • For example: .*NullPointerExcep+on .*|[Ee]rror|[Pp]roblem
  • 10. More sophis+ca+on needs work • Ac+ons – Ac+on detec+on – Ac+on selec+on – Some+mes a trial/error process • Random selec+on = like a child, just much faster • Prin+ng, file copying / moving / dele+ng • Starts other Processes • Rights management, dedicated user accounts, disallow ac+ons • Oracles that need programming
  • 11. How? Edit the protocol 16
  • 13. 18 START SUT Domain Experts SCAN GUI + OBTAIN WIDGET TREE more actions? DERIVE SET OF USER ACTIONS EXECUTE ACTION calculate fitness of test sequence No Yes Action Definitions Oracle Definition STOP SUT SUT optional instrumentation Replayable Erroneous Sequences FAULT? ORACLE Yes No more sequences? SELECT ACTION Test * protected SUT startSystem() ! throws SystemStartException!
  • 14. 19 START SUT Domain Experts SCAN GUI + OBTAIN WIDGET TREE more actions? DERIVE SET OF USER ACTIONS EXECUTE ACTION calculate fitness of test sequence No Yes Action Definitions Oracle Definition STOP SUT SUT optional instrumentation Replayable Erroneous Sequences FAULT? ORACLE Yes No more sequences? SELECT ACTION Test * protected Verdict getVerdict(State state);!
  • 15. getVerdict! Verdict …. private final String info; private final double severity; private final Visualizer visualizer; (double severity, String info) public Verdict(double severity, String info, Visualizer v) 20 protected Verdict getVerdict(State state){ Assert.notNull(state); //-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ // ORACLES FOR FREE //-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ // if the SUT is not running, we assume it crashed if(!state.get(IsRunning, false)) return new public final class public Verdict Verdict(1.0, "System is offline! I assume it crashed!"); { // if the SUT does not respond within a given amount of +me, we assume it crashed if(state.get(NotResponding, false)) return new Verdict(0.8, "System is unresponsive! I assume something is wrong!");
  • 16. getVerdict! 21 //-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ // ORACLES ALMOST FOR FREE //-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ String +tleRegEx = seqngs().get(SuspiciousTitles); // search all widgets for suspicious +tles for(Widget w : state){ String +tle = w.get(Title, ""); if(+tle.matches(+tleRegEx)){ // visualize the problema+c widget, by marking it with a red box Visualizer visualizer = U+l.NullVisualizer; if(w.get(Tags.Shape, null) != null){ Pen redPen = Pen.newPen().setColor(Color.Red).(…).build(); visualizer = new ShapeVisualizer(redPen, ….., "Suspicious Title", 0.5, 0.5); } return new Verdict(1.0, "Discovered suspicious widget +tle: '" + +tle + "'.", visualizer); } }
  • 17. getVerdict! 22 //-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ // MORE SOPHISTICATED ORACLES CAN BE PROGRAMMED HERE //-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ The sky is the limit ;-­‐) // if everything was ok... return new Verdict(0.0, "No problem detected.", U+l.NullVisualizer);; }
  • 18. SoFeam • FITTEST EU project • partner from France • Big so#ware company • SUT selected for evalua+ng TESTAR: Modelio SaaS • Modelio SaaS: ! – PHP web applica+on – For the transparent configura+on of distributed environments that run projects created with SOFTEAM’s Modelio Modeling tool – Administrators use this applica+on to manage servers and projects that run in virtual environments on different cloud plaxorms • Current tes+ng done manually
  • 19. Case Study Procedure 24 INTRODUCTORY COURSE CONSOLIDATE FINAL PROTOCOL RUN THE PROTOCOL Level 2: HANDS ON LEARNING TRAINING PHASE Level 3: PERFORMANCE EXAMS SUCCESS? YES SETTING-UP A WORKING TEST ENVIRONMENT Example SUTS USER MANUAL SOFTEAM INSTALLING TOOL Example SUTS TESTING PHASE EVALUATE TEST RESULTS NO TRAINER WORKING DIARIES PROTOCOL PROTOCOL SUFFICIENT QUALITY? YES NO PRPORTOOTCOOCLOL EVOLUTIONS LEARNABILITY-QUESTIONNAIRE (A) LEARNABILITY-QUESTIONNAIRE (B) SATISFACTION-INTERVIEW Level 1: REACTION EVALUATE COURSE QUALITY QUESTIONNAIRE We measured: • Learnability (ques+onnaires, work-­‐diaries, performance evalua+ons) • Effec+veness – 17 faults were re-­‐injected to evaluate – Code coverage • Efficiency – Time for set-­‐up, designing and develop – Time for running tests
  • 20. following the work in [4]. The pur-pose questionnaire is to complement the order to determine whether with their given answers. Results COLLECTION included the administration of examination, working diaries, TESTAR protocol artifacts (oracle, video-taped interviews with the diaries, the trainees reported over the hands-on learning pe-riod schedule. Table 2 shows the activities. Time reported (min) S1 S2 In Pairs 1200 30 30 820 30 20 30 0 10 240 20 30 60 10 15 2350 90 105 activities during the hands-on of the di↵erent TESTARs se-tups, The trainer rated each artifact Figure 3: Evolution of artifact quality as rated by the trainer Description Test Suite TSSoft TSTestar Faults discovered 14 + 1 10 + 1 Did not find IDs 1, 9, 12 1,4,8,12,14,15,16 Code coverage 86.63% 70.02% Time spent on development 40h 36h Run time manual automated 1h 10m 77h 26m Faults diagnosis and report 2h 3h 30m Faults reproducible 100% 91.76% Number of test cases 51 dynamic Table 3: Comparison between tests learning, and at point B, after the hands-on learning. The questions have been taken from [9] where the authors are analyzing the learnability of CASE tools. They have been divided into 7 categories to separate di↵erent aspects of the tool. It consists of 18 items in 5-points likert scale. 5. ANALYSIS RQ1: How learnable is the TESTAR tool when it is used by testing practitioners of SOFTEAM? Empirical data was collected in order to analyze learnabil-ity at the three identified di↵erent levels. Reaction (level 1) - Responses from two questionnaires can definitely compete with that of SOFTEAM. The subjects felt confident bit more time in customizing the oracles, the TESTAR tool would as their manual test suite w.r.t. capability. This could save them test suite in the future. subjects found the investment in learn-ing spending e↵ort in writing Java worthwhile since they were sure often the tests are run in an au-tomated satisfied with the experience and their peer colleagues. To persuade some more in the tool (for example to research how good the auto-mated how re-usable they are amongst perceived as difficult. Neverthe-less, definitely detected. criticism regarding the documenta-tion of the tool, the testers’ reactions during the interviews and the that they were satisfied with the came to a similar conclusion regard-ing Although, the trainer reported action set definition, the con-stant of artefact quality during the ease of learnability. These items work to enhance the tool. of Information Technology Education: Research, 4(1):61–84, January 2005. [10] A. Zendler, E. Horn, H. Schwartzel, and E. Plodereder. Demonstrating the usage of single-case designs in experimental software engineering. Information and Software Technology, 43(12):681 – 691, 2001. APPENDIX Faces were rated with a scale from 1 to7 where 1 represented ”Not at all” and 7 represented ”Very much”. Would you recommend Could you pursuade the tool to your colleagues? your management to invest? 1 2 3 4 5 6 7 X 1 2 3 4 5 6 7 X Would you recommend Could you pursuade the tool to your colleagues? your management to invest? 1 2 3 4 5 6 7 X 1 2 3 4 5 6 7 X the tool in such a way that it detected a fair amount injected faults. This gives insight into the training ma-terial and the user manual that needs to be improved and concentrate more on giving examples and guidance on more sophisticated oracles. Also, we might need to research and develop a wizard that can customize the protocol without programming. The e↵ectiveness and efficiency of the automated tests generated with TESTAR can definitely compete with that of manual tests of SOFTEAM. The subjects felt confident they would invest a bit more time in customizing the selection and the oracles, the TESTAR tool would best or even better as their manual test suite w.r.t. coverage and fault finding capability. This could save them manual execution of the test suite in the future. The SOFTEAM subjects found the investment in learn-ing TESTAR tool and spending e↵ort in writing Java for powerful oracles worthwhile since they were sure would pay o↵ the ore often the tests are run in an au-tomated way. They were satisfied with the experience and animated to show their peer colleagues. To persuade management and invest some more in the tool (for example doing follow-up studies to research how good the auto-mated tests can get and how re-usable they are amongst versions of the SUT) was perceived as difficult. Neverthe-less, enthusiasm to try was definitely detected. summary, despite criticism regarding the documenta-tion and installation process of the tool, the testers’ reactions statements encountered during the interviews and the questionnaire, indicate that they were satisfied with the experience. We came to a similar conclusion regard-ing tool’s learnability. Although, the trainer reported difficulties with the action set definition, the con-stant progress and increase of artefact quality during the study, points to an ease of learnability. These items improved in future work to enhance the tool. REFERENCES studies for method and tool evaluation. Software, IEEE, 12(4):52 –62, July 1995. [8] P.M. Kruse, N. Condori-Fernandez, T.E.J. Vos, A. Bagnato, and E. Brosse. Combinatorial testing tool learnability in an industrial environment. In ESEM 2013, pages 304–312, Oct 2013. [9] M. Senapathi. A framework for the evaluation of case tool learnability in educational environments. Journal of Information Technology Education: Research, 4(1):61–84, January 2005. [10] A. Zendler, E. Horn, H. Schwartzel, and E. Plodereder. Demonstrating the usage of single-case designs in experimental software engineering. Information and Software Technology, 43(12):681 – 691, 2001. APPENDIX Faces were rated with a scale from 1 to7 where 1 represented ”Not at all” and 7 represented ”Very much”. Would you recommend Could you pursuade the tool to your colleagues? your management to invest? 1 2 3 4 5 6 7 X 1 2 3 4 5 6 7 X Would you recommend Could you pursuade the tool to your colleagues? your management to invest? 1 2 3 4 5 6 7 X 1 2 3 4 5 6 7 X • Some difficul+es/resistance/ misunderstanding during the learning of programming for powerful oracles • Tes+ng ar+facts produced increased in quality – Red = Oracle – Green = Ac+on Set – Blue = Stopping Criteria the cards tool perceived Would your argu-ments sat-isfaction in-terview expression pur-pose the whether administration of diaries, oracle, the reported pe-riod the hands-on se-tups, artifact stopping sub-mitted Figure 3: Evolution of artifact quality as rated by the trainer Description Test Suite TSSoft TSTestar Faults discovered 14 + 1 10 + 1 Did not find IDs 1, 9, 12 1,4,8,12,14,15,16 Code coverage 86.63% 70.02% Time spent on development 40h 36h Run time manual automated 1h 10m 77h 26m Faults diagnosis and report 2h 3h 30m Faults reproducible 100% 91.76% Number of test cases 51 dynamic Table 3: Comparison between tests learning, and at point B, after the hands-on learning. The questions have been taken from [9] where the authors are analyzing the learnability of CASE tools. They have been divided into 7 categories to separate di↵erent aspects of the tool. It consists of 18 items in 5-points likert scale. 5. ANALYSIS RQ1: How learnable is the TESTAR tool when it is used by testing practitioners of SOFTEAM? Empirical data was collected in order to analyze learnabil-ity at the three identified di↵erent levels. Reaction (level 1) - Responses from two questionnaires about first impressions of the course (quality and learnability
  • 21. Future Work • S+ll lot that needs to be done! • Accessibility API works if UI has been programmed “well” • Research more search-­‐based approaches for ac+on selec+on • Research the integra+on of other test case genera+on techniques (model-­‐based, combinatorial-­‐based) for ac+on selec+on • Design a test spec language that makes it possible to specify ac+ons and oracles without programming Java • Do more industrial evalua+ons to compare maintenance costs during regression tes+ng with our tool and capture/replay or visual tes+ng tools • Extend the tool beyond PC applica+ons (for now we have Mac and Windows plug-­‐ins) to mobile plaxorms 26
  • 22. • Tanja E. J. Vos • email: tvos@pros.upv.es • skype: tanja_vos • web: h]p://tanvopol.webs.upv.es/ • telephone: +34 690 917 971