Professional Documents
Culture Documents
Essential
for
software
testers
June 2016
4 /5
v2.0
number 37
Test
Automation
for
RECORDING_1
RECORD MODULES
Everyone
BROWSER
OPEN
MOUSE
CLICK
KEY
SEQUENCE
VALIDATE
ATTRIBUTE EQUAL
USER CODE
MY_METHOD
Recording_1.cs
RECORDING_1
void ITestModule.Run()
{
Report.Log(ReportLevel.I
"Website", "Opening web
Report.Log(ReportLevel.I
"Mouse", "Mouse Left Clic
Report.Log(ReportLevel.I
Any Technology
Seamless Integration
Broad Acceptance
Robust Automation
1
Lic
All Te
ense
chno
logi
All U
pdat es.
es.
Quick ROI
now
t
u
o
n
io
s
r
e
v
w
Ne
Remote test execution
Git integration
Performance improvements
Fresh user interface
Code templates
and so much more...
www.ranorex.com/try-now
TE TER
welcome.
Contact
Vanessa Howard
Editor
Editor
Vanessa Howard
editor@professionaltester.com
Managing Director
Niels Valkering
ops@professionaltester.com
Art Director
Christiaan van Heest
art@professionaltester.com
Sales
advertise@professionaltester.com
Publisher
Jerome H. Mol
publisher@professionaltester.com
Subscriptions
subscribe@professionaltester.com
IN THIS ISSUE
4 A test mature organization
Ever wondered how organizations know when they have achieved
test maturity? Let Gregory Solovey guide you.
Gregory Solovey
Isabel Evans
Hans Buwulda
Huw Price
Derk-Jan de Grood
their presentation skills and here Isabel Evans outlines why these
skills matter.
22 Testing Talk
In this issue's Testing Talk, Anthea Whelan talks to
Derk-Jan de Grood about why testing needs to be
about far more than bug hunting.
Test strategy
Test strategy
Initial
Managed
Integration
Quantitative
Optimizing
1
Initial
Managed
Test
environment 1
Quantitative
Optimizing
Level 2 Definition
It is test automation time. Test tools have
to be selected based on the available
interfaces - WEB, GUI, CLI, mobile, DB;
or based on the operating system and the
development environment: Windows vs.
Linux; NET vs. Java vs. SOAP, etc. Today
the tendency is toward open source test
tools vs. commercial or internally developed
ones. What is important is that each has a
test framework, as shown in Figure 3.
A test framework provides two main
benefits to the user:
Integration
Test
environment N
Software
update
Software
update
Test
application
1
Test
application
1
Test
application
2
Test
application
5
All test cases can be executed completely through the external interfaces.
Test strategy
1
Initial
2
Managed
Test
environment 1
Test
environment N
Integration
Quantitative
Optimizing
Software
update
Software
update
Test
application
1
Test
application
1
Test
application
2
Test
application
5
1
build
Initial
2
Managed
3
Integration
Quantitative
Optimizing
Continuous Integration
Test Framework
Test
environment 1
Test
environment N
Software
update
Software
update
Test
application
1
Test
application
1
Test
application
2
Test
application
5
Figure 4: Allowing for tests in multiple environments and multiple builds simultaneously.
Test strategy
1
Initial
build
2
Managed
3
Integration
Test
Test
environment 1
Test
environment N
Software
update
Software
update
Test
application
1
Test
application
1
Test
application
2
Test
application
5
Monitoring Dashboards
4
Quantitative
Optimizing
Test
density
Code
coverage
Req
coverage
CR
density
Feature_1
Feature_3
Feature_5
Test strategy
1
Initial
build
2
Managed
3
Integration
Test
Test
environment 1
Monitoring Dashboards
Test
environment N
Software
update
Software
update
Test
application
1
Test
application
1
Test
application
2
Test
application
5
Prevention Dashboards
4
Quantitative
5
Optimizing
Req
Testability
Test
Test
Consistency Harness
CR
Lessons
Feature_1
Feature_3
Feature_5
Conclusion
This article shows a specific
implementation of the five TMM stages.
It is an attempt to keep the description
generic, assuming that similar approaches
can be used in any software company.
The sequence of practices implementation
and their specifics depend on a company's
test culture and its weakest areas.
However, in one way or another, all these
practices have to be in use in a mature
test organization
Feature
solution and convincing peers and linemanagers that a course of action can and
should be followed is an essential skill in
business today.
All too often, we hear that if testers are to
add value, we need to break out of our 'silo'
and question what is being tested. Agile
demands ongoing dialogue and collective
problem solving and so sound communication skills are becoming as vital as a
tester's ability to be analytical.
The BCS SIGiST has a mission to help the
development of testers in their careers, and
that includes helping provide a platform for
those who want to improve their public
speaking. And so we are offering up to four
new or improving speakers, based in the
UK, the chance to be mentored to improve
their presentation skills.
As we progress in our
careers, the ability to get
our message across by
speaking to a group
becomes even more
important.
Feature
10
www.dorothygraham.co.uk
Graham Thomas
www.badgerscroft.com
Mieke Gevers
http://bit.ly/23gbi2O
Julian Harty
http://bit.ly/1WbFQRo
Isabel Evans, is the BCS SIGiST programme secretary. She has more than 30 years
experience in the IT industry, mainly in quality management, testing, training and
documentation.
TE TER
Essential
for
software
testers
Test automation
12
Test automation
Relation to code
Quality / depth
Automation
Scalability
Unit
Testing
Close relationship
with the code
Singular test
scope, but deep
into the code
Fully automated
by nature
Scalable, grows
with the code,
easy to repeat
Functional
Testing
Quality and
scope depends
on test design
In particular UI
based
automation can
be a challenge
Exploratory
Testing
Human driven,
not seeking a
relation with code
Not meant to be
repeatable.
Rather do a new
session
Figure 1: Matrix
step 16
Open http://www.bigstore.com
The "BIG Store" main page is displayed, with a "sign in" link
step 17
step 18
step 19
step 20
The page now shows "Hello John" in the upper right corner
step 21
step 22
step 23
step 24
step 25
step 26
step 27
step 28
The Cart Check Out open, with the 2 Acme Super Watches
Figure 2: Steps
Given User turns off Password required option for Drive Test
And User has logged in by Traffic Applicant account
And User is at the Assessments Take a Test page
And User clicks the Traffic Test link
And User clicks the Next button
And User clicks the Sheet radio button in Mode page if displayed
And User clicks the Start button
And User waits for test start
And User clicks the Stop Test button
When User clicks the Confirm Stop Test button
And User enters the correct applicant password
And User clicks the Confirm Stop Test button
Then The Test is Over should be displayed in the Message label
And the value of the Message label should be The test is over
And The Welcome to Traffic Testing page should be displayed
Figure 3: A strong communications format can still result in poor usability
13
Test automation
acc nr
first
last
open account
123123
John
Doe
acc nr
amount
deposit
deposit
123123
123123
10,11
20,22
acc nr
expected
check balance
123123
30,33
Test Module 1
Test Module 2
Test Module N
Objectives
Objectives
Objectives
create the "chapters"
Test Cases
Test Cases
Test Cases
Actions
AUTOMATION
interaction test
enter
enter
check property
business test
window
control
value
log in
log in
user name
password
jdoe
car guy
window
control
property
expected
log in
ok button
enabled
true
user
password
log in
jdoe
car guy
first
last
brand
model
enter rental
Mary
Renter
Ford
Escape
last
total
check bill
Renter
140.42
14
Test automation
create promotion
create promotion
name
start
finish
percentage
category
christmas
tablets
1-12-2016
20-12-2016
25-12-2016
1-1-2017
5
11
all
tablets
date
time travel
check nett price
23-12-2016
article
price
iPad Mini 4
338,19
Figure 6: Promotion 1
click
select
check list item exists
window
control
main
new promotion
window
type
promotion
town
window
list
value
promotion
towns
Tietjerksteradeel
Figure 7: Promotion 2
15
Test automation
16
Test strategy
17
Test strategy
18
Test strategy
test_name
Invalid1
InvalidParm1
Valid1
Invalid2
InvalidParm2
Invalid3
Valid2
Invalid4
InvalidParm3
Valid3
Invalid5
InvalidParm4
Action
Change
Change
Change
Change
Change
Lookup
Lookup
Lookup
Create
Create
Create
Create
Versioning of APIs
Versioning is a further cause of growing
complexity in API testing. Most systems
have a degree of deprecation, so an API
must be able to handle an old version
calling new versions, or a combination
thereof. The API must recognize missing
values and assign some kind of default to
allow the old version to work. Whats more,
it might be the case that some versions can
be called by some versions but not others,
and the numerous possible combinations
must therefore be tested.
Customer
Number
1
1
1
1
NewPayload
Names=James walker
Name=?
Names=James walker
Names=James walker
1
1
Names=James walker
Names=James walker
14
15
1
Name=?
Names=James walker Name=Josh Taylor
Names=James walker
Name=Josh Taylor
Payload
Name=Huw Price
Name=Huw Price
Names=James walker
Name=Huw Price
Name=Huw Price
expected_results
API fails
API fails
Payload Displayed
API fails
API fails
API fails
Payload Displayed
API fails
Invalid Payload;API fails
NewCustomerID;Payload Displayed
NewCustomerID;API fails
API fails
Figure 3: The twelve logical combinations derived from the model in Figure 2.
Figure 4: Subflows have been created to designate what needs virtualizing, and the
process behind the virtualization. These subflows (orange) are then
incorporated under the master process, ready for testing.
19
Test strategy
Figure 5: The subprocess has been incorporated into a test case to test a path through the master flow.
Figure 6: The basic test modelled above now has optional Virtual Test control added
20
Test strategy
Figure 7: The flow (top) shows the subflow models of APIs connected into a chain; the scripts (bottom)
are created as an output of the test case design tool.
21
Interview
Testing Talk
by Bogdan Bereza
22
Interview
23