Testingexperience01 09
Testingexperience01 09
www.testingexperience.com
printed in Germany
5
March, 2009
Outsourcing
iStockphoto.com/Kameleon007
TESTING DAYS
fo
rP
ap
er
s
Agile
C
al
l
Berlin, Germany
October 12
Tutorials
October 13
Conference
October 14
Conference
The Agile Testing Days is the European conference for the worldwide professionals involved in the agile world. We are very proud to
count with the support and the work of Lisa Crispin, Elisabeth Hendrickson, Tom Gilb, Stuart Reid, Isabel Evans, Alessandro Collino,
Mary and Tom Poppendieck.
We decided to choose Berlin as one of the best connected capital in Europe and also for its very good price/service ratio for hotels
and flights. Berlin offers also a lot of fabulous places to visit in your spare time.
Please follow the call for papers and send us a proposal based on your experience. Come and enjoy the conference!
www.agiletestingdays.com
Lisa
Crispin
Elisabeth
Hendrickson
Alessandro
Collino
Tom Gilb
Stuart Reid
Lisa
Crispin
Elisabeth
Hendrickson
Stuart Reid
Isabel Evans
Alessandro
Collino
Tom Gilb
Mary Poppendieck
Tom Poppendieck
Editorial
Dear readers,
If you want to have an amazing evening, invite people to talk about outsourcing. There are good and less good stories about it, with a lot of pros and cons. In
my opinion, and I think that you can follow it in the articles, the outsourcing of
services is most of the time possible and it can bring you the expected ROI, if
you pay attention to risk requirements, aims, culture, costs, time etc. And all of
it embedded in a good project management frame. Experience does a lot! If you
dont do so, then you may get the opposite.
When I was in India last October I had the chance to look at PureTestings Testing Center. I was amazed about the quality and the way they work. I think that
one of the important things in making a decision for outsourcing is to have the
appropriate partner. In India and other countries there are a lot of well skilled and
culturally aware companies, which could help you if you decide to go this way.
On the other hand there are a lot of fears about losing jobs especially in this crisis time due to the fact that companies see outsourcing as a part of the business
where they can save money apparently quickly. In this case I think that there is
only one thing you can do: be real added value for your company. If they decide
to go to a another country to let people do your job, then you have to improve
your output and not be considered a cost factor but an added value. I get mad
when I speak with customers or test managers and they talk about thousands and
thousands or hundred thousands or millions of test cases. No every customer
developes an operating system, flight control system or similar. Who should test
that? Are you really a professional tester? How could this happen? Do you know
test techniques? Well, with that amount of test cases it is quite normal that they
decide to move your position to e.g. China!
We are very proud of having over 200,000 downloads with the fourth issue. It
is amazing. Thanks. We have sent the printed magazines to all registered people
around the world. We could do that because we had enough ads to earn the money
to do it. The number of registered persons increased a lot with the last issue and
we cannot now afford to send the printed issue out to all using the money earned
from the ads. We have therefore decided to send it only to the those who pay for
it. The annual fee is 32 Euros. We think thats a fair price. Please go to the website www.testingexperience-shop.com to register for the printed issue. You can
pay with PayPal or we can send you an invoice. The online issue will be always
available for free!
We did have a very successful Belgium Testing Day. We were around 100 professionals there enjoying the talks. We will have the next one on February 8th,
2010. Save the date!
Last but not least something about my holidays: In Gran Canaria I met Celeste
from Italy and George from UK. We went for a dinner at the beach promenade
and we did a little sightseeing in Las Palmas. I enjoyed the evening. On January
2nd my son and I jumped in to the water. The Atlantic! It was wonderful. We had
26C!!! When we came back to Germany we had -16C. What should I say
I will be in Sydney at the ANZTB Test 2009 conference. Lets go for a coffee!!
Enjoy the magazine and thank you very much for your support.
Yours sincerely
www.testingexperience.com
Contents
Editorial......................................................................................................................................... 3
How to Build and Maintain a Successful Outsourced, Offshored Testing Partnership
by Dr Mike Bartley
28
by Eric Jarvi
Intelligent Use of
Testing Service
Providers by Rex Black
iStockphoto/ f.
50
www.testingexperience.com
iStockphoto.com/RBFried
75
iStockphoto.com/mammamaart
45
34
iStockphoto.com/jrling
iStockphoto.com/titaniumdoughnut
57
by James Christie
5
iStockphoto.com/jcarroll-images
Better software through additional resources: The additional talent and resource that we
can carry allows us to develop better software
than our competition can afford in the same
period (Scott Allan, Symbol technologies
Inc.)
Concentrate on core competence: Businesses should focus on clients and IP which
satisfies their need. Everything else should be
outsourced to those whose core competency
is that business (Bill Widmer, President and
CEO, g8solutions)
--
Quality improvement.
--
Cost variablization2.
--
--
--
--
--
--
--
--
Cost reduction.
2
This means converting fixed costs to variable costs.
www.testingexperience.com
quality of their software (see [7]). An offshore test team allows you independence
along three dimensions: managerial, financial and technical.
--
--
--
Sign-off criteria and incoming acceptance: You will need to sign-off the work
performed by your supplier through some
sort of incoming Quality Assurance (yes
testing the tester!).
System testing:
Now consider how the above affect your decision on what to outsource:
--
Unit testing:
This will probably require you to release source code which may lead to
IP protection issues.
The test environment for unit testing is not usually over-complex and
the domain knowledge requirements
tend to be lower.
Testing the tester is harder as an objective measure of system test quality is more difficult - but it is not im-
Commercial model
Recipient Provider
Risk
Risk
Cost-plus pricing
The recipient pays the providers costs plus a percentage. The provider is guaranteed
cost recovery. The recipient is not guaranteed service levels.
Appropriate for efficiency deals.
Medium
Low
Fee-for-service pricing
Price is based on the amount and/or quality of the work actually delivered. The providers costs are not covered unless service levels are met. The recipient costs are not
entirely predictable and service levels are not guaranteed.
Appropriate for efficiency and enhancement deals.
Medium
Medium
Fixed price
Defines a specific service level and a price for achieving it. This is higher risk for the
provider. The recipient has lower risk as prices are capped.
Appropriate for efficiency deals.
Low3
High
Shared-risk/reward
pricing
This involves a flat rate with additional payments for achieving specified outcomes.
Appropriate for enhancement and transformation deals.
High
High
Business outcome
achievement
The provider only receives payment for achievement of specified business outcomes.
The receiver has no guarantee that expected outcomes will be achieved.
Appropriate for transformation deals.
Medium
High
www.testingexperience.com
Obviously the above three imply an increasingly complex relationship with increasing
levels of trust. [5] goes on to consider the appropriate commercial models for the deal and
this is summarised in Table 1.
You also need to consider your outsource location: on-shore, near-shore or offshore. This
decision should be made in the context of your
chosen service deal. I would also recommend
considering multiple suppliers. In my experience this brings a number of advantages.
--
Requirements management
--
--
--
Configuration management
--
--
--
--
--
Country
Total
Appraisals
2.
3.
Create a short-list.
4.
10
37
31
10
31
Argentina 47
18
103
293
18
34
Australia
29
Brazil
79
Canada
43
China
465
Egypt
27
12
11
France
112
67
34
Germany
51
27
India
323
11
127
22
151
Japan
220
16
64
88
13
15
Korea,
Republic
of
107
31
48
11
Malaysia
42
15
24
Mexico
39
18
13
Spain
75
49
21
Taiwan
88
60
25
UK
71
36
24
US
1034
25
365
347
21
114
5.
tiation.
Contract nego-
6.
Perform a pilot
project with your selected
supplier (or suppliers)
The major issues in the
above list are identifying appropriate selection
criteria and exchanging
contracts. Below are some
example selection criteria
-People: Skills
profile; Academic background of staff; Staff training statistics.
-Retention:
Staff attrition rates.
-Process: Process maturity; CMMi and
other process maturity
measures attained. You
should consider how well
matched the relative process maturity between
your two organisations
--
--
--
--
Cost: What are the typical pricing models? How are changes managed from a
cost point-of-view? Recent cost change
history.
If you are offshoring then your selection criteria will need to reflect circumstances in the
providers country. For example, if the destination is India then staff turnover or retention
rate should be a major consideration.
Regarding contractual negotiations, I have
found it helpful to have two documents: a Master Services Agreement (MSA) and a Service
Level Agreement (SLA). The MSA covers the
legal, financial and contractual issues (such
as confidentiality, ownership of deliverables,
assignment of rights, indemnification, warranties, liability, changes in personnel, subcontracting, termination, penalties for not meeting
agreed service and delivery targets, etc.). The
Service Level Agreement (SLA) should cover
the service and support goals and is strongly
affected by the type of service deal that you
have (efficiency, enhancement or transformation). The MSA and SLA are complex legal
documents which I will not attempt to cover in
detail in this article.
You are finally ready to execute your offshored
software testing project and this is where it
starts to becomes difficult! If you have followed
the process I have described above then your
chances of your success are significantly improved. However, any offshored development
is inherently risky. First there are the problems
of managing a distributed team (communication issues, knowledge management, change
management, etc). Then, according to Ralph
Kliem in [7], in offshoring there are also the
unique challenges posed by geographical,
cultural, and other differences. There is not
enough space in this article to go into details
of how to manage offshored projects but I will
highlight the main items to consider. Firstly,
you need to distinguish management and governance. Management is about responsibility for specific decisions; Governance covers
decision-making processes: the who, the how
and the when. It is important to define the governance rules to allow your offshore team to
know when they are empowered to make decisions and how to make good decisions.
www.testingexperience.com
--
--
--
--
--
--
Good management means the usual good software project management practices
plus
Communication
---
--
Knowledge management
--
Getting up the initial learning curve and staying there through staffing
changes
--
Audit trails
---
You need to save this data quickly and cheaply but what about access
time?
Biography
How strict does your audit need to be? Are their any legal requirements?
In summary, there are many benefits to offshoring your software testing, especially
if you aim to build a competence based rather than transactional outsourcing relationship. However, the risks are also high and in the above I have laid out a process
to improve your chances of success.
--
Agree the strategic goals in an appropriate forum and share them with your
provider.
--
--
--
--
References
1.
How to Boost your Productivity through Outsourcing, Mike Bartley, Software and Systems Quality Conference, London, Sept 2008
2.
3.
How to measure test effectiveness using DDP (Defect Detection Percentage), by Dorothy Graham et al, Grove Consultants (available from http://
www.dorothygraham.co.uk/downloads/generalPdfs/DDP_Tutorial.pdf)
4.
5.
Multisourcing: Moving Beyond Outsourcing to Achieve Growth and Agility, Linda Cohen and Allie Young, Gartner, Inc.
www.testingexperience.com
Nuremberg, Germany
16 18 September, 2009
YOUR
CONSTRUCTIVE
CONTRIBUTION
IS NEEDED!
CALL FOR PAPERS
submission deadline is 31 March
www.conquest-conference.org
Organizer .
Column
www.testingexperience.com
11
iStockphoto.com/gmutlu
12
The Basics
www.testingexperience.com
Non-Lean,
Inflexible,
www.testingexperience.com
attitude (e.g. 8 hour work day) vs. understanding that there are reduce productivity (referred
to as Real time). While further internal study
might be required, some have found this may
be as much as 3 hours of unproductive time
per day dedicated to such things as,
Holidays,
Productivity rate,
Unexpected meetings,
Error repair,
Email,
Phone Calls,
General disruptions.
Healthy and open discussions encourage responsible behavior and reduce risky date
driven behavior. Do not take this lightly.
Buyers need to adopt a responsible behavior
concerning delivery in order to encourage a
proper buyer attitude. Suppliers operate in a
highly competitive environment and will do
everything possible to gain trust and business,
sometimes at the mutual peril of themselves
and of their customer. For this reason a proper
responsibility must be exercised. There will be
ample opportunities to discuss debate and develop solution delivery that will fit the needs
of buyers and service providers.
13
2.
Contractual provisions help to arbitrary differences, and are essential, but do little to soften
the effects of failed service delivery.
True Costs
As described earlier, outsourcing saves money
based purely on a cost per unit (rate) of measure basis. To illustrate this point, if a company spends $50 per hour for a project manager and their benefits represent an additional
25% ($12.50/hr.) this would equate to $62.50
per hour for labor cost. This does not include
office occupancy and related professional developmental requirements. This also assumes
100% utilization, which as previously discussed relative to Ideal Time, is impossible
to attain and as a result further increases the
delivery costs when serviced internally. For the
purposes of this example lets assume that the
overall net-net domestic cost is $65 per hour,
on a simple rate basis its hard to overlook
the positive economics of a service provider
rate of $45 per hour in China or $57 in India.
A buying company can take on a substantial
amount of buying risk for even $12 per hour
over the range of a several thousand hour project engagement. If you work for a company
who is considering a return to in-house servicing (known as retrosourcing) bear in mind that
these economies will require reverse justification despite compelling circumstances.
Appropriate attention given to ways of reducing buying and estimation risks will minimize
cost misconceptions and promote responsible
14
3.
For longer term service delivery engagements buyers may wish to consider the
USD ($)
Euro ()
India
(INR)
49.18
63.7129 67.9751
GBP ()
China
(CNY)
6.842
8.8638
Russia
(RUB)
32.696
42.3578 45.1914
Brazil
(BRL)
2.3458
3.039
9.4568
3.2423
www.testingexperience.com
How do the costs match for specific service project roles? Even though a specific country may offer favorable currency exchange rates (and its relatively
stable) consideration must be given to cost per role.
Global coordination,
Pre-engagement synchronization,
Conclusion
Can outsourcing yield a positive ROI?
Yes
Are the yields as high as we expected?
Probably Not
Should we expect some added costs?
Expect some
Will we need to realign our approaches?
Definitely
Should we expect that some changes will need to be made? Probably
Biography
Jerry is Founder and Chairman Emeritus
for the International Institute for Outsource Management (IIOM). He has provided support and guidance to some of
the leading global companies in over 70
countries. The focus of IIOM is to serve
the growing and varied needs of the
global outsource service provider while
alleviating many of the issues expressed
by global buyers. Jerry lead the development of the Outsourcing Management
Body of Knowledge development, and
established the Global Star Certification
(GSC) a model focused specifically on
outsource supplier viability. He presently serves as a Senior Global Advisor
for the Outsourcing Institute, Bocosoft,
Tianjin Software Testing Center and
Beijing Association of Software Sourcing.
Question and feedback can be directed
to: [email protected] or IIOMDurant@
gmail.com .
The good news is that there is an abundance of case studies, articles, and resources
that can be put to work to overcome risk, guide in the realignment of processes
and methods, and assist in the delivery of high yielding risk overt outsourcing. As
a buyer, or as an experience veteran of outsourcing, the opportunity to reinvent/
rediscover the economics has come at a time when success may mean survival.
Economics lead the score card of reasons behind choosing outsourcing as an operational alternative. However a close and critical examination of other service provider attributes will be necessary. Question of supplier viability, regional stability,
intellectual property rights (IPR), delivery capability and organization synergy are
but a few of the other factors that will influence your economic realization.
www.testingexperience.com
15
iStockphoto.com/ooyoo
by Jean Joskowicz
16
www.testingexperience.com
IS Design
IS Requirements
Controled Production
Provis. Acceptance
Technical Validation
Process 2 V Cycle
We can note that there is first a repetitive structure on the product process, then, at the time
of choosing the payment method, there is an
alternative.
The program comprises six logical sequences
and two tests. The first one could be named
new product occurrence? and the second
one choice of payment by card?. In the sequence of Begin Customer, we will input
the date and hour of passage of the customer
(provided by the system), then the input of the
customers reference (through the card reader)
will enable to access to the data necessary
to create a customer invoice (name, address,
). The totalizer of the customer purchases
will be initialized in this sequence.
The sequence Product Process will correspond to the identification and valuation of
each product, which will be cumulated in the
totalizer.
The total will be obtained in the sequence Intermediate. The chosen method of payment
will be naturally notified in the corresponding
Begin Customer
Product Process
Intermediate
Account Payment
End Customer
1
Lets remember that it is necessary to first
structure the Logical File of Outputs (LFO), then the
Logical File of Inputs (LFI),in order to proceed to their
mutual validation, and then to deduce the structure
of the LFI program by applying the Laws for Building a
Program.
www.testingexperience.com
Biography
Engineer and graduated as a DEA in
Physics, M. Jean Joskowicz began his
career in scientific research, before
choosing business EDP.
A specialist in structured methods of
programming, conception and project
management, he became involved as
a teacher in national or international
organisations.
As senior consultant in various consultancy and services forums, he managed
or rescued large projects in France and
abroad.
He is President of AFISI and international
consultant, and as such he participates
in international lectures and conferences and participates as trainer at
Test&Planet.
17
iStockphoto.com/ vulkanino
www.testingexperience.com
Corporate Strategy
Test Policy
Test
Governance
Test Management
Test Strategy /
Master Test Plan
Test Plan
Test Method
19
towards each other will disappear. Thus, taking care of teams that are used to work on the
same type of testing activities enable working
independent of people, time and place.
A standard way of working improves cooperation
Essential to proper communication is that everybody involved knows what to do, what to
use and what to expect. So clear agreements
on the processes and products must be made.
This will be supported by using common tools,
templates and checklists. Especially when the
parties involved have all participated in setting
up this way of working to prevent essential
unworkable situations. Configuration management will ensure that the test basis, test object
and testware are always aligned. Knowledge
management will ensure that a tester that is
acquainted with the test method does not need
subject matter expertise to be able to do the
test design and execute the tests. Instruments
used are documentation, wikis and a person
as functional oracle. A learning process that
includes determining root causes of incidents
with the information from the help desk prevents defects and other problems from returning.
Taking care of organization and communication prepares for the final step of smarter testing which is to industrialize.
Well-defined work-packages enable flexibility in people, time and place
The client knows what results have to be
reached and when. Creating those results is a
certain amount of work with specific deliverables as defined in the assignment from client
to provider. For each deliverable the test manager defines work-packages with the relevant
part of the test basis and the test object and
the products to be created, such as test cases,
test data and the test summary report. The
test manager decides which work-package is
picked up at what moment and by what team.
Since the work-packages are defined in a stan-
Culture basically is not a problem at all. Everywhere youll find more and less motivated
people. But there is no culture that prevents
people to cooperate. However people do tend
not to understand each other. That is not a cultural issue; it results
from different frames
Client
of reference. For example because the parties
involved have totally
different maturity lev- Management Contract & SLA
els. CMMi level 1 people and CMMi level 5
people simply cannot
work on one project.
So communication is
basically the problem.
Regular contacts (at
the start in person, later
using telecommunications) help improve
working
together.
When the teams are
used to working together hardly any traveling
is needed but, more
important, you will see
that the mutual prejudices of remote teams
20
Point of
contact
Onshore
Offshore
Strategic
Contract Manager
Strategic
Tactical
Test Manager
Tactical
Work-Package
Contacts Liaison
work floor
Test Coordinator
Work-Package
Knowledge
Transfer
Test Coordinator
Functional documentation
Central Knowledge base
Work-Packages
Work-Packages
Operational
Knowledge
Transfer
Testers
Testers
www.testingexperience.com
Biography
Rik Marselis is a test strategist within Sogeti in the Netherlands and one of the designers of the STaaS concept. He
has over 28 years of experience in IT of which about 14
years in quality assurance and software testing. Rik has
presented on testing subjects like test policy at various conferences, including Testing & Finance 2008. Also he wrote
numerous articles and contributed to various books on testing. As a trainer Rik works with groups in a wide variety of
training courses on software testing. He is the treasurer of
the Belgium and Netherlands Testing Qualifications Board
(one of the 42 ISTQB member boards) and he is an active
member of TestNet, the Netherlands special interest group
in software testing.
Holmer Vonk is process manager for offshored test projects
run in cooperation between Sogeti Netherlands and Sogeti
India. Holmer has 10 years experience in IT, which started
with education of software applications to businesses. The
last 6 years Holmer built up knowledge and experience in
migrations of Operating systems, testing, test management,
CMMi assessments, process development and offshoring.
Recently Holmer implemented the Testing GateWay principle, as described in this article, within Sogeti.
Conclusion: Smarter testing is the starting point if you desire cost cutting
So if you feel a desire to reduce costs keep in mind that outsourcing and offshoring in itself are not automatically the
solution. The keywords are organize, communicate and
industrialize. And after taking care that the work has been
made independent of people, time and place, by introducing
the concept of work packages, you can implement your perfect mix towards reaching the business goals at acceptable cost.
The Testing GateWay principle establishes the essential singlepoints-of-contact which, in combination with Software Testing
as a Service, provides a proven example this approach reaches
the same or better results from testing at reduced costs.
Bibliography
TMap Next for result-driven testing, T. Koomen, L. van der
Aalst, B. Broekman and M. Vroon (2006)
TMap NEXT Business Driven Test Management, L. van der
Aalst, R. Baarda, E. Roodenrijs, J. Vink, and B. Visser, (2008)
Samenhang vraagt om slagvaardige regie (Coherence calls for
sharp governance) R. Linkers, R. Koornneef and H. van Mastrigt, article in RealIT, june 2008
TestGrip, gaining control on IT quality and processes through
test policy and test organisation, R. Marselis, I. Pinkster, J. van
Rooyen and C. Schotanus (2007)
www.testingexperience.com
21
iStockphoto.com/Cimmerian
by Nishant Pandey
Are the resources allocated to the test execution too many or too few?
22
www.testingexperience.com
to be as shown below:
It was found that lack of progress on module B
during May to June was affecting the execution
totals. Inputs from the module test lead led to
the knowledge of the fact that though the test
team was working hard towards meeting the
targets, the high number of complex bugs and
repeated failure
of retest fixes
were the main
reasons. The
test lead helped
identify the list
of bugs in priority order that
can
unblock
test cases for
execution once
they have been
resolved.
Defect Trends
and Retest Estimations
The execution trend analysis pointed towards
unusually buggy code as one of the probable
reasons for the variations between actual and
targeted completion. It was found that the test
team had found 800 defects by June. Based on
trend prediction it was estimated that the team
will end up finding around 1200 bugs by September. This was higher than the estimated bug
traffic. Discussions with test team members
at the mid-term meeting helped reveal that,
based on organization baselines and past data,
the test project retest estimations were done to
cater for 900 bugs and related retests. The unusually buggy nature of the code was leading
to test resources being utilized in retest-related
Results
The mid-term health check meeting helped
serve as a powerful communication tool for
the test manager to put across his teams concerns and bottle necks that were causing a dip
www.testingexperience.com
23
Biography
I have 7 years experience that revolves around QA, Business Analysis, Test Management & Project Management. Armed with the advanced level certificate in Test Management (CTAL-TM) and the PMP (PMI) credential, I am involved in test management
and test process improvement in Capgemini FSSBU. I have worked on Credit Cards and
Telecom Domains. Currently I live in Orlando where I am working as Test Manager for
a prestigious client of Capgemini FSSBU. My first paper on Software Testing was published in proceedings of the National Conference on Software Engineering (NCSOFT
- India). Since then I have been working on pinning down some of my experiences and
will be glad to share these with others.
24
www.testingexperience.com
iStockphoto.com/dougallg
Individual
www.testingexperience.com
Group
Universal
Personality
Culture
Inborn learned
Learned
Human nature
Inborn
25
Symbols
Heroes
Rituals
Values
Practices
Biography
Cultural expressions (source: Hofstede and Hofstede. 2005:22)
critical on the work) of a male programmer according to her culture? In some cultures the loss of face is so important that testers hate to log defects they find. A
defect tells the programmer that he did not do his work the right way and what if the
defect was unjust? So logging a defect is a cultural problem, one way or the other.
Other things that can influence your communication with other cultures are religion
and the distinction of the boss: are employees allowed to do anything without consulting their boss and. if not, does the employee say No, I can not or does he say
Yes and does nothing.
We should not have the idea that cultures can change over night because they often
go back ages. And why should they change? Working with other cultures should
stimulate our creativity by approaching problems in a way that we havent thought
of ourselves. So, what we are left with is the growth of awareness. Awareness of our
own culture and peculiarities and awareness of the culture and peculiarities of the
other culture so we can prepare ourselves. This way we can reduce or even prevent
problems, reduce costs and increase the chances of success.
The recognition of cultural differences can be learned. A good training can help you
to avoid problems as mentioned before. The basic idea of a training in Intercultural
Communication is to get you from the stage of not knowing and not liking to the
stage of recognition and acceptance and further to the stage of integration and
transformation. Awareness is the magic word; awareness of your own culture and
awareness of other cultures. Through this you can interact with the other culture
more easily. You will be able to predict the behavior of the other culture and deal
with it properly.
Software development is teamwork. Having a multicultural team is an extra challenge for every manager. Software testing, as a part of the development process, is
no exception to this rule. With that a good Intercultural Communication training is
indispensable for a well greased multicultural team. It is indispensable for the success of outsourcing and off shoring. Therefore it is a profitable investment for your
company. There is more to it that good contracts and service level agreements.
26
www.testingexperience.com
iStockphoto.com/sweetym
ed
t
mi
Li
TMMi Workshop
e
ac
pl
Wednesday 20th May, The Royal Automobile Club, 89 Pall Mall, London, SW1Y 5HS
9.30am 5.00pm
In a recent survey of CEOs and their strategies to contain costs in the coming year, improving IT processes came top of the list.
This not only demonstrates that CEOs know a lot more about the workings of IT than they did in the past, but also that they are
aware of the tangible benefits associated with improving IT Process efficiency.
The impact of process improvements throughout the SDLC can have a major impact not only on ITs capabilities to deliver, but
also the knock on affect to the business. (as outlined in the table below)
Business
IT
Competitive Advantage
Cost Reduction
Increased Productivity
Risk Mitigation
Risk Management
ROI on IT
Measureable Improvements
Over the decades there have been many process improvement models, including SPICE, CMM and CMM(I). These models
focus on helping organisations improve their overall software engineering process capabilities, but dont cover testing and software quality processes in sufficient detail. This is where the Testing Maturity Model integrated (TMMi) can help.
Unlike other Test process improvement methods that are attributed to individual consultants or organisations TMMi is the standard industry method to assess and improve testing and software quality related processes.
TMMi brings together a prioritised and coherent strategy to make the practice of testing, a validation of quality and not just a
way of finding defects.
Experimentus has obtained wide recognition for the work it has been doing with the Testing Maturity Model integrated and has
helped many organisations clearly understand their level of risk across the development lifecycle, reduce cost and improve
software quality.
In September 2008, Experimentus became the first UK organisation to be awarded accreditation by the TMMi Foundation for
its in-house developed TMMi assessment method.
In December 2008, the Experimentus team became the first consultants worldwide to become accredited TMMi Assessors.
Workshop Overview
The aim of this workshop is to provide background and to help the attendees understand how to deliver qualitative and quantitative process improvements using the TMMi model. It explains in detail what TMMi is, and why it is different from other models.
To help understand the benefits of the TMMi model, the day will also include a quick assessment which will provide an indicative
view of where within the 5 levels of TMMi, each attendees company, project or team is currently positioned.
Throughout the day we will relate our experiences from the delivery of numerous Experimentus TMMi assessments and provide
practical remedies and strategies to make an effective difference.
Finally there is a review of a recent TMMi survey undertaken by Experimentus to obtain a view of the trends in the software
testing industry today.
To register please download the form at: http://www.testingexperience.com/TMMiWorkshop.pdf
500
Pantone 295
100%
80%
Knowledge Transfer
Pantone 279
60%
40%
20%
cmyk
100%
80%
60%
40%
20%
c:55
c:41
c:28
c:14
cmyk
www.testingexperience.com
c:100
c:80
c:60
c:40
c:20
c:64
27
iStockphoto/ f.
by Eric Jarvi
28
understand:
All right, were not doing this, gentlemen. We are not doing this. Were not
going to go bouncing off the walls for ten
minutes, cause were just going to end up
back here with the same problems! Try to
figure out how to stay alive! Astronaut
Jim Lovell (played by Tom Hanks)
The case can be made that systematic approaches and disciplined problem solving are
sometimes our best option in chaotic, stressful,
and unpredictable environments. Complex security issues often demand that we thoroughly
work the problem.
Working the Problem
Great thought has already gone into the space
of working the software security problem.
Much of it has been oriented towards development rather than test, but it is still important to
understand. If you are new to the idea of threat
modeling or havent yet explored the concepts
of the Security Development Lifecycle (SDL),
you would be better off to stop reading this
article and pick up the latest version of the
Microsoft SDL and learn as much as you can
about Threat Modeling. [3,4] These are great
fundamentals, designed for almost universal
applicability in software teams, and are often
considered to be prerequisites for any type of
security testing effort.
Much of that guidance was developed at a high
level and puts a priority on helping developers
and designers avoid introducing security holes
in the first place. Defect prevention is a commendable priority, but it shouldnt lull testers
into a false belief that the goal was actually accomplished, or worse yet, that no testing needs
to be performed! If anything, defect prevention efforts make the challenge of defect detection all the more rewarding.
www.testingexperience.com
Brainstorming sessions
Subjective prioritization
Risk Assessment
Once risk is identified, a risk assessment function evaluates both the frequency and consequence of a hazard. It can be a struggle to
balance qualitative and quantitative metrics at
this point. Multiple risk assessment functions
can be used and factored in as part of the subsequent risk evaluation.
Whats the frequency?
Higher frequency leads to higher risk. There
have been times when a bug may seem insignificant in comparison with other bugs that
need to be fixed. However, the frequency of
that bug may be the real problem. Ive heard
this referred to as death by 1,000 paper cuts.
Attack surface reduction and off by default
may be examples of ways to lower risk by
lowering the frequency of the hazard.
If a bug triage process does not take frequency
into account, a bug with a low consequence but
high frequency might slip through. Teams may
have to compensate with time and resources
they dont have in the budget, or by shipping
patches they werent planning on having to release. Taking into account the frequency aspect
is critically important, whether that means giving special consideration to frequency when
defining a bug bar, adding a special field in the
bug database so higher frequency bugs rise to
the top of the list, or by otherwise adjusting the
methodology or processes used by the team.
What are the consequences?
Naturally, a higher magnitude consequence
will also increase risk. Being able to demonstrate the consequences of a particular bug is
the second main factor in any risk management
decision formula. Being able to communicate
consequences factually, persuasively, and in
detail is a hallmark trait of software testers
who dont only log bugs, but actually get high
numbers of them fixed.
The Damage Potential category of the
DREAD [9] risk model offers an example
of an attempt to include the notion of consequence in the quantification of risk. Knowing
which areas have the highest consequence can
www.testingexperience.com
Finding Vulnerabilities
The point of this article is to help testers think
about the way they go about finding security
vulnerabilities. Risk identification in traditional risk management is similar in concept to
discovering vulnerabilities in software testing.
With this in mind, we can revisit a few techniques that are used for risk identification by
other disciplines:
HazOps
As the story goes, the chemical process industry started to more widely accept what is known
as the HazOps technique after a chemical plant
explosion in 1974 killed 28 people. HazOps
stands for Hazards and Operability Studies.
[11,12] Both words have special meaning.
In the chemical process industry, Hazards
are defined as the operations of a system that
can result in truly catastrophic consequences.
In the software industry, hazards might be
the high severity vulnerabilities found on the
SANS Top-20, BugTraq, or US-CERT bulletins. [13,14,15] The term operabilities,
however, represents a less catastrophic form
of risk. They might lead to shutdowns, regulatory violations, or other costly side effects. In
software, these might resemble privacy, accessibility, reliability, performance, regulatory, or
geopolitical issues.
Both hazards and operabilities are identified
by bringing groups of technical experts together and looking for deviations between the
implementation and the specification. Its a
bottom-up process.
This is something that can be done in security testing as well. You dont get something
for nothing, but it works. Read the spec in de-
FMEA
Failure mode and effects analysis (FMEA) [16]
is an approach that was developed to identify
the risk of defects and failure in the aerospace
industry. This is another bottom-up risk assessment tool that leverages the deep understanding engineers have of failure modes and their
ability to change the development process to
avoid future failures. FMEA has also been
used in military, automotive, and manufacturing environments to reduce the risk of future
failures, and is finding more and more use in
software development.
James Whittakers How To Break Software
[17] series offers an introduction to the types
of faults and failure modes that software testers are familiar with. The Practical Guide
to Defect Prevention, [18] published by
MSPress, actually includes an entire chapter
on FMEA and its relationship to Fault Tree
Analysis (FTA) and Failure Modeling along
with an example of how it might be applied.
Fault Trees, often referred to as attack trees
during penetration tests, have been covered
in detail by many in the security community,
including Bruce Schneier. [19] Much of the
common sense thinking behind FMEA carries over to traditional threat modeling and the
concept should be familiar to anyone using the
SDL.
Being able to think about software in terms of
failure models and fault trees is a skill that can
give software testers greater confidence when
applying the SDL and can be a way to communicate risk more effectively to others in the
organization. It may be called by other names
than FMEA, but mastering this underlying
approach to risk identification may help you
flush out vulnerabilities that would have otherwise gone undetected.
29
CCFA
Common Cause Failure Analysis is interesting in that it takes the results of a topdown fault tree analysis as a prerequisite. The tester then walks back up the tree
searching for coupling factors that could cause component failures to be interdependent on each other. Common Cause Failure and Common Failure Mode are
other terms that are associated with this type of risk identification.
Variations on the CCFA technique may be particularly useful in environments that
consist of integrated components that were not designed or even intended to ever
work together. In some cases these components may have vulnerabilities that are
only exploitable when combined with other components or used in unanticipated
ways. In other cases, the behavior of one component may set the stage for the exploitability of a second component. For example, one application might assume that
all files on the users desktop are trusted binaries that can be executed, and another
application might assume that the users desktop is a safe place to silently drop files
from the Internet.
CCFA may give security testers a way to tease more results out of fault tree work
that was already done. Try working backwards up the tree to identify coupling
factors with other components that might be unanticipated and could cause severe
failure and vulnerability scenarios.
Conclusion
At its core, finding vulnerabilities is a risk identification problem and relied on by
higher level risk management processes that govern our use of software. It can be
possible for testers to make solid contributions to the risk management function of
their organization by building a toolbox of proven approaches and defensively finding security vulnerabilities before they can be exploited.
Biography
Eric Jarvi is a Security SDET on the
Microsoft Office Trustworthy Computing
Security Test Team in Redmond, Washington.
If, as a tester, youre not having success finding vulnerabilities, perhaps some of the
risk identification tools being used by other engineering disciplines will help you
think about the problem in a new way.
[1] Apollo 13 Film, http://en.wikipedia.org/wiki/Apollo_13_(film)
[2] NASA SP-4223 Before This Decade is Out... http://history.nasa.gov/SP-4223/
ch6.htm
[3] Microsoft SDL, http://go.microsoft.com/?linkid=8685076
[4] Microsoft
aa570413.aspx
Threat
Modeling,
http://msdn.microsoft.com/en-us/security/
http://blogs.msdn.com/david_leblanc/
[10] Appendix B: Security Definitions for Vulnerability Work Item Tracking, http://
msdn.microsoft.com/en-us/library/cc307392.aspx
[11] Lihou, Mike. Hazard and Operability Studies, http://www.lihoutech.com/
hazop.htm
[12] Hazard and Operability (HazOp) Studies, http://pie.che.ufl.edu/guides/hazop/
[13] SANS Top-20 Security Risks, http://www.sans.org/top20/
[14] Security Focus Archive, http://www.securityfocus.com/archive/1
[15] US-CERT, http://www.us-cert.gov/cas/bulletins/
[16] Failure Modes and Effects Analysis (FMEA), American Society for Quality,
http://www.asq.org/learn-about-quality/process-analysis-tools/overview/fmea.html
[17] How to Break Software, http://portal.acm.org/citation.cfm?id=515499
[18] The Practical Guide to Defect Prevention, http://www.microsoft.com/MSPress/
books/9198.aspx
[19] Attack Trees, http://www.schneier.com/paper-attacktrees-ddj-ft.html
30
www.testingexperience.com
iStockphoto.com/Bim
Knowledge Transfer
TMMi Foundation
One Day Tutorial with Erik van Veenendaal
d
limite
places
This workshop brings the TMMi model to Europe and is your chance to learn
about the latest initiative in test process improvement.
The Test Maturity Model Integration is rapidly growing in use across Europe
and the USA. It has been developed to compliment the existing CMMI framework. Its growing popularity is based upon it being the only independent
test process measurement method, and the simple presentation of maturity
levels that it provides.
In Europe the independent TMMi Foundation initiative has been established
with the sole intent of elaborating the TMMi standard and developing a
standard TMMi assessment and certification method, with the aim of enabling the standards consistent deployment and the collection of industry
metrics.
Erik van Veenendaal has much practical experience in implementing the
model and helping organisations improve the way they test, and the benefits
this can generate. He is the editor of the TMMi Framework model and vicechair of the TMMi Foundation. The workshop will present these experiences
and benefits with the aim of providing the attendees with the information
required to justify a test process improvement project.
As well as learning more about the TMMi during the workshop each attendee will be provided with the information and practical materials needed to
do an evaluation of their own companies test maturity level.
750,-
(plus VAT)
Katrin Schlke
ds
en 09
0
rd
Bi st , 2
1
ly
ar May
E
The Conference for Testing & Finance Professionals
y
b
June 22nd - 23rd, 2009 in Bad Homburg (near Frankfurt am Main, Germany)
The international well-known speakers are amongst others:
Prof. Dr. Schulte-Mattler, Dr.EMike Bartley, Dorothy Graham, Rex Black,
Erik van Veenendaal, Graham Bath, Vipul Kocher, Manu Cohen-Yashar,
Hans Schfer, Alon Linetzki, Yaron Tsubery
www.testingfinance.com
E
Exhibitors
Supporting Organisations
ds
en 09
0
rd
Bi st , 2
1
ly
ar May
E
by
E-mail:
Billing Address (if differs from the one above)
Company:
First Name:
Last Name:
Street:
Post Code:
City, State:
Country:
Phone/Fax:
E-mail:
Remarks:
375,-
Early Bird
1 Day
(plus VAT)
2 Days
450,-
(plus VAT)
Early Bird
700,-
(plus VAT)
850,-
(plus VAT)
Included in the package: The participation on the exhibition, at the social event and the catering in course of the event.
Notice of Cancellation
No fee is charged for cancellation up to 60 days prior to the beginning of the event. Up to 30 days prior to the event a payment of 50% of the course fee becomes
due and up to 15 days a payment of 100% of the course fee becomes due. An alternative participant can be designated at any time and at no extra cost.
Settlement Date
Payment becomes due no later than the beginning of the event.
Liability
Except in the event of premeditation or gross negligence, the course holders and Daz & Hilterscheid GmbH reject any liability either for themselves or for those
they employ. This also particularly includes any damage which may occur as a result of computer viruses.
Applicable Law and Place of Jurisdiction
Berlin is considered to be the place of jurisdiction for exercising German law in all disputes arising from enrolling for or participating in events by Daz & Hilterscheid GmbH.
Date
by Andreas Spillner
iStockphoto.com/titaniumdoughnut
34
www.testingexperience.com
tions; he can request different outputs for different regions of the program; he can request
alarm outputs if the checkee transfers control
outside a fixed region or if a loop of more than
n cycles is performed; he can indicate the use
of different executive subprograms depending
on the results of checkee operation; he can indicate which portions of his program are to be
performed noninterpretively.
A: I understand, a good debugger with
many options to control and monitor the
program is very important support! But
first you have to test extensively, to find all
these stupid bugs.
H: It is debatable whether a program of
100,000 instructions can ever be thoroughly
tested - that is, whether the program can be
shown to satisfy its specifications under all operating conditions. For this reason, one must
accept the fact that testing will be sampling
only.
A: Are your saying to test only a little bit,
only the main functions of the system?
H: No, not at all! Many sad experiences have
shown that the program testing effort is seldom adequate. When the program is delivered
for operation, its performance must be highly
reliable because the control system is a critical
part of a much larger environment of men and
machines. One error per 100,000 operations of
the entire program can easily be intolerable.
A: Yes, most of the programs are part of
embedded systems, which must work reliable. We really have a responsible job. Do
you have any principles for testing?
H: Yes, we have, let me tell you. As a result of
facing this problem for some time at the Lincoln Laboratory, the following principles have
evolved to govern our testing.
First, parameter testing (i.e., testing of individual component subprograms in a simulated
environment) cannot be too thorough. This
phase must discover all errors internal to the
program and its individual coding specifications. Even if parameter testing were perfect
(which it never is!), many errors in system
design would remain to be discovered during
subsequent assembly testing.
A: In our opinion performing only unit tests
is inadequate, no matter how good and how
many unit tests are executed. Please, tell me
more about your testing principles.
H: Second, initial assembly testing should be
performed using completely simulated inputs.
There are several reasons. First, only in this
way can all test inputs be carefully controlled
and all tests be reproducible. Second, when
errors are discovered with a new program using live inputs, there will always be a question
whether the program or the machine is at fault.
Integration of the system program with terminal equipment should not be attempted until
the assembled program has been well tested.
A: Thanks for this very good explanation of
why a step is needed between unit test and
system test. And this step is a very impor-
www.testingexperience.com
tant one.
H: Let me continue. A third principle is that
the testing facility used during the assembly
test phase must contain extensive, flexible facilities for recording both system outputs and
intermediate outputs (i.e., subprogram intercommunications). Without this facility, rapid
and reliable diagnosis of system errors is impossible. After a test has been conducted and
errors found, it should be possible to correct
the error before the program is put on the machine again.
A: I wish that many more programmers
and testers follow your testing principles
and that managers provide the necessary
resources. Are there any requirements how
to build the program, something like design for testability?
H: The need for comprehensive simulated inputs and recorded outputs can be satisfied only
if the basic design of the system program includes an instrumentation facility. In the same
way that marginal-checking equipment has
become an integral part of some large computers, test instrumentation should be considered
a permanent facility in a large program.
A: What about regression testing? Are you
prepared for maintenance testing?
H: Sure we are. One final principle should
govern system-program testing: All successful
parameter and assembly tests must be reproducible throughout the life of the system program. These tests must be documented in test
specifications that detail the reasons for the
tests, required inputs, operating procedures,
and expected outputs.
A: Conservation of the testware is the
term for these activities in my projects.
H: The original reason for this requirement
stemmed from the problem of revising the
program once it was operational. The slightest
modification to a program can be successful
under limited testing conditions and yet still
cause critical errors for other operations. Since
it is desirable to retest the program thoroughly
after each modification, a large battery of test
inputs must be available. We have discovered
two other incidental advantages of detailed
test documentation. First, a programmers
tests tend to be more organized and more exhaustive if he must document them. Second,
if machine-versus-program reliability is ever
questioned, retesting is possible. If a known
program and a known test fail, the machine is
at fault.
A: The amount of regression testing is always a problem. How do you deal with new
or changed user requirements?
H: Consider the problem of revising the system
once the program is operational in the field. A
minor change in the operational specifications
is proposed. First, the cost and effects of this
change must be evaluated in terms of the program, the operators, and, often, the machine.
In order to make the change, several hundred
revisions may be required in the specifications.
35
Biography
Andreas Spillner is professor at the Hochschule Bremen (University of Applied Sciences). He is a founder member of the German Testing Board e. V. and was founder and
chair of the German Special Interest Group in Software Testing (SIGIST, Test, Analyse
und Verifikation von Software, 1990-2003). He is a fellow of the German Informatics
Society (GI - Gesellschaft fr Informatik, 2007)
He is author of German and English books and publications, and speaker at many
national and international conferences. For detailed information take a look at his home
page (www.informatik.hs-bremen.de/spillner).
02 . Ou t sourc in g
03 . Tr aini n g
36
www.testingexperience.com
iStockphoto/ andresr
Improve
your professional life!
Check our website on April 14th
www.testingexperience.com
38
techniques or tools. With a model like uTest, its the diversity of approaches, techniques and tools which enable us to offer unbeatable testing coverage. This is one of the things that our customers love about
uTest.
How do you control or measure the quality or skills of the testers?
Does it help you or your customers to know that they are ISTQB,
QAMP certified?
In an open marketplace like uTest, testers build reputations based on
their past performance. So the uTest marketplace between companies
and testers becomes a living, breathing, self-policing entity which promotes good behavior and ensures that quality work is recognized and
rewarded.
As far as external certification, we are actually in the process of launching several tester certification programs in our marketplace right now.
This will enable our testers to sharpen their skills, earn certifications
and differentiate themselves within our community.
How does the information flow between the testers and between
testers and companies?
Bugs and or completed test scripts are submitted by testers and logged
in the secure uTest platform. When the customer logs in to their account, they see the bugs that have been reported within their project.
We also enable online communication between customers and testers
during a release cycle, so if a customer wants to follow up with a tester
about a specific bug, they can communicate live through uTest.
How do you assure that the regression tests can be done by other
testers with other skills?
Every release cycle executed with uTest has a specific focus, as defined by the customer. The focus can be on particular areas, running test
scripts or general testing coverage. Conversely, many uTest customers
run full regression for their applications through our community.
When doing full regression testing, customers can request that all previously submitted bugs be verified and re-checked by a certain set of
testers, or even by the exact same testers that originally submitted each
bug.
How do you create the documentation? Do you have a standard?
uTest uses a standardized methodology for performing a testing project
with uTest. Weve based this methodology on best practices derived
from years of experience testing desktop, web and mobile apps. Every
www.testingexperience.com
testing project that is run through the uTest marketplace is managed using a standard template, and every bug is submitted through a standardized template & interface.
development structures. And even those firms that use more traditional
waterfall development methodologies find that they need testing coverage that spans across locations, languages and platforms.
Further, uTest customers have the capability to define the structure and
the coverage report of the testing they would like our community to
perform. uTest also provides a dedicated project manager to our customers to help facilitate their test cycles. This helps ensure that their
testing needs are met, and they get the most value of testing with our
community.
Do you think that today in the crazy crisis world there is a
chance for uTest to grow better than in other times?
A marketplace is the most efficient method of delivering this type of
real-time, real-world testing service thats why were popular with our
customers. Thus, weve seen that in good times, software companies are
attracted to uTest because they cant find enough qualified QA professionals to adequately test their apps. And in tough economic times, they
flock to us because theyre trying to contain costs and do more with
less.
Is uTest an option for big companies too or only for small companies with small projects?
Companies of all shapes and sizes are now using uTest from fiveperson startups to Fortune 500 enterprises. Weve found that many of
our customers employ agile development methodologies, which implies
start-ups, but many enterprise dev teams are shifting to more fluid, agile
iStockphoto.com/Petrovich9
Cause-Effect Graphing
The Cause-Effect Graphing technique was invented by Bill Elmendorf of IBM in 1973. Instead of the test case designer trying to manually determine the right set of test cases, he/
she models the problem using a cause-effect
graph, and the software that supports the technique, BenderRBT, calculates the right set of
test cases to cover 100% of the functionality.
The cause-effect graphing technique uses the
same algorithms that are used in hardware logic circuit testing. Test case design in hardware
insures virtually defect free hardware.
This article addresses the second RBT technique - Cause-Effect Graphing. The first article
described Ambiguity Reviews and included a
sample ambiguity review of the requirements I
will design test cases for in this article.
There are a number of test case design techniques, such as Equivalence Class Partitioning
and Boundary Value Analysis. These techniques rely on the test case designer to manually work out the proper combinations of test
cases. Often, the test case designer does not
use a formal test case design technique and relies on his/her gut feel to assess whether test
coverage is sufficient.
40
www.testingexperience.com
iStockphoto/ lisegagne
Improve
your professional life!
Check our website on April 14th
www.testingexperience.com
The cause-effect graph that represents this requirement is provided in Figure 1. The causeeffect graph shows the relationship between
the causes and effects.
Argentina
All weights $11 US
Brazil
Weight > 33 pounds $21 US
Brazil
Weight = 33 pounds $19 US
Brazil
Weight < 33 pounds $17 US
Columbia, Ecuador, Peru, Bolivia,
Chile, French Guiana, Guyana,
Paraguay, Suriname, Uruguay,
Venezuela, and Falkland Islands
All weights
$15 US
For parcels which people mail to South America outside of December 1 to December
24 of each year, the system will apply the surcharges in Table 2 in addition to the standard postage of $5.00 US:
Table 2 - Country & Weight Surcharge outside the dates December 1 to December 24
(In a real life problem, the specific details of Table 2 would be supplied here. For this
example, they have been excluded.)
Test#2
Test#3
Causes:
A
Effects:
C
For more technical information about Cause-Effect Graphing, refer to the following:
Richard Bender
Bender RBT Inc.
17 Cardinale Lane
Queensbury, NY 12804
518 743-8755
www.benderrbt.com
G. J. Myers,
The Art of Software Testing,
Wiley, 1979.
Cause-Effect Graphing Analysis and Validation of Requirements
Khenaidoo Nursimulu and Robert L. Probert
Bell-Northern Research and Telecommunications Software Engineering Research Group
Department of Computer Science
University of Ottawa, 150 Louis Pasteur/Priv., Ottawa
Ontario, Canada K1N 6NA
www.cs.ubc.ca/local/reading/proceedings/cascon95/pdf/nursimul.pdf
Cause-Effect Graphing
Theresa Hunt
http://www.westfallteam.com/Papers/Cause_and_Effect_Graphing.pdf
42
www.testingexperience.com
The test case designer translates the requirements into the cause-effect graph shown in Figure 4 (created using BenderRBT).
Test#1
Test#2
Causes:
T
F
Test#4
Test#5
Test#6
Test#7
Test#8
Continent
Test#3
Argentina
Brazil
Weight_High
33_Pounds
Weight_Low
Effects:
Not_South_America
{obs}
Not_Parcels
{obs}
See_Table2
{obs}
I10
<OBS>
$11
{obs}
$15
{obs}
$21
{obs}
$19
{obs}
$17
{obs}
www.testingexperience.com
Postal_Item_Type
Dates
43
Effect(s):
Cause(s):
which test cases can be selected. The CauseEffect Graphing technique derived only 8 test
cases, but these 8 test cases cover 100% of the
functionality described in the requirements.
No other test cases are required to improve
functional coverage. Additional test cases
would only provide redundant coverage already supplied by some portion of each of the
8 original test cases.
Cause-Effect Graphing, in conjunction with a
powerful analytical tool such as BenderRBT,
provides a rigorous, consistent and cost effective approach to deriving test cases. Since the
technique determines the minimum number
of test cases, the test effort is minimized, and
yet the test case designer can be confident that
once these tests are successfully run, then testing is complete, and no untested functionality
will move into production.
Notes: 1 Functional requirement - A functional
requirement specifies what the system must be
able to do, in terms that are meaningful to its
users.
Cause(s):
Cause(s):
Cause(s):
Effect(s):
See Table 2 for postage surcharges.
TEST#4 -- The Postal Regulation
Cause(s):
The item is sent to South America
In Summary
Figure 5 shows there are 8 inputs to the Postal Regulation requirements (i.e., Continent,
Postal_Item_Type, Dates, Argentina, Brazil,
Weight_High, 33_Pounds, Weight_Low). It
is interesting to note that with 8 inputs, there
are 2 ** 8 = 256 combinations of inputs from
44
Biography
Gary Mogyorodi has over 30 years of
experience in the computing industry.
Currently, as Principal Consultant with
Software Testing Services, he consults,
trains and mentors in software testing,
specializing in Requirements-Based
Testing (RBT), i.e. Cause-Effect Graphing and Ambiguity Reviews. Some of his
customers include CGI, FiLogix, H&R
Block, Home Hardware, IBM, Manulife
Financial, RBC, RBC Dexia, Siemens and
TELUS.
Gary Mogyorodi began practicing RBT
with Bender & Associates in 1998.
Mr. Mogyorodi is the President of the
Canadian Software Testing Board. He
is an approved ISTQB Instructor at the
Foundation Level.
www.testingexperience.com
iStockphoto.com/mammamaart
www.testingexperience.com
the speaker?
These are the common questions. In order to
have everybody on the same page, companies
have to apply extra effort to this matter. First,
it is important to make sure the teams practice
regular on-site meetings, calls and have defined
communication channels. Feedback on every
matter is very precious. The second point, as
important as the matter pointed out before, is
investing in relationship building. After-work
dinner or a town-tour are highly appreciated
by a visiting company. It is called Relationship
Management and gets you both to a position
that ensures smoother project implementation.
This way, the not invented here attitude gets
eliminated and both companies will manage
to elevate their cooperation to a higher level
strategic partnership.
Expertise and quality of services provided will
lead to ROI. It is highly appreciated if the outsourcing company has experience and requested domain knowledge. References and project
lists can help in narrowing the partner selection and quality certificates are an additional
pro for the cooperation. Another relevant index
is the companys country competitive position
in the global IT market. Regarding the costs,
companies usually think that the spending is
done once the contract is signed. Well guess
what? Even when the model of cooperation
(fixed price model, extended office model)
is chosen, they have to be prepared for some
additional spending. Statistics say that an extra 1-10 percent of initial costs are spent on
travel costs and in the first three to six months
of project implementation; and 6-10 percent
on managing the nearshore/offshore contract.
Conclusion: Without proper expertise on both
sides, one cannot count on getting the invested
money out let alone make a profit!
45
scenarios that may arise and yes, have as elastic a mindset as possible. And, of
course, dont try to take shortcuts. With this kind of systematic approach, you can
smoothly solve internal sourcing issues while releasing complete software solutions within budget, on time and at the right quality. We can proudly confirm that,
when it comes to outsourcing, the following statement says it all: the proof of the
pudding is in the eating!
BEST
The Java GUI Testtool
Oscar Wilde
www.qfs.de
Quality First Software GmbH
Tulpenstrae 41
82538 Geretsried
Germany
Fon: +49. (0)8171. 91 98 70
46
Biography
Aleksandra Popara is Communications
Manager in EXECOM, software engineering company and IT services provider.
Aleksandra has been working in the
software industry for five years covering
different positions. She first started as a
junior consultant, then joined the system
analysis team and rounded off her
experience in her recent position in the
Marketing & Sales team. Another role
Aleksandra holds in EXECOM is Quality
Management Officer, responsible for ISO
9001:2000 related processes.
Predrag Skokovic has more than 10
years of experience in IT business. His
first job, after becoming a bachelor of
computer science, was as a System
Administrator. He was introduced to
software testing at Execom. Currently
he holds a position of the leading Test
Manager. Also, he is a member of the
Quality Management team. Occasionally,
as requested, he gives presentations/
tutorials at the local university about
software testing.
www.testingexperience.com
iStockphoto.com/obessions
Fundamentals of testing
Testing throughout the software life cycle
Static techniques
Dynamic techniques
Techniques for designing test cases
Test management
Tool support for testing
SEMINAR SERVICES
The price for the seminar includes the following services:
-- Execution of the seminar with a maximum of 10 participants
-- Snacks and lunch
-- A printed set of the slides and material
Subsequent to the seminar, the ISTQB exam will be offered for those who wish to acquire the certification Certified
Tester Foundation Level. The exam expenses of 200,- EUR plus Tax per participant will be invoiced from the examination body separately.
PREREQUISITES
Basic practical experience in IT projects and elementary know how of software development are expected. Initial practical experience in software testing is helpful but not required.
TARGET AUDIENCE
Project managers
Quality managers
Software testers
Software developers
1450,- EUR
(plus VAT)
http://training.diazhilterscheid.com/
Register at [email protected]
iStockphoto.com/goodynewshoes
To be or not to be
(a company who chooses to outsource software testing)
by Todd E. Sheppard
On the surface the choice to outsource software testing in many cases may seem like an
easy decision to make. I can save how much
by not having testers in house? Lets do it! In
reality the choice is never that easy and rarely
based solely on cost. There are many other
factors that must be considered when deciding
whether or not to outsource software testing.
This article explores a few of these factors.
Is the software development outsourced?
If the software development work has been
outsourced this may be a good reason for the
testing to remain in house. For software applications to be successful they must meet the
needs of the user group. These needs should
have been clearly defined by a Business Analyst who is in frequent contact with the end
users. These needs or requirements are then
transmitted to the outsourced software development team. In order for the company to
know that the application development team is
fulfilling their contract there is a need to have a
solid software testing group in house who can
evaluate the software as it is being presented
for payment. The testing group has access to
the original requirements, which should have
been met, as well as the business knowledge
to validate that the product will fulfill the ultimate needs of the business. The testing group
will also validate that the software complies
with usability and other internal company
standards, which were transmitted along with
the requirements.
Is the software being tested for purely internal use or is it customer facing?
While it should never be acceptable to sign
off on software that has not been thoroughly
tested, the ultimate audience of the software
may raise the stakes considerably. If a piece
of software that is developed for internal use
48
www.testingexperience.com
www.testingexperience.com
Biography
Todd E. Sheppard has been working as
an IT professional for the past 16 years.
Todd holds a Master of Engineering
degree from the University of Louisville,
Kentucky USA. He has worked as a
System Integrator, a Software Developer,
in Training and Deployment, a Release
Manager, and a Quality Assurance
Analyst. Todd has been focused solely
on software testing and quality assurance for the past 9 years. He is currently
employed as a Sr. Quality Assurance
Analyst at UPS.
49
iStockphoto.com/RBFried
Should we outsource our testing? What testing tasks should we outsource, and what tasks
should we keep in-house? What are the chief
advantages and disadvantages of outsourcing
testing? As a consultant, Ive been asked questions like these and other outsourcing-related
questions a number of times. For a few clients,
Ive provided the following analysis, which
should prove useful to you if you are evaluating outsourcing of testing.
KD1.
Testing service providers
already exist. An organization can use
them almost immediately for any project.
Building an in-house test team can take
longer than the duration of a project.
In this article, I analyze the use of outsourcing in testing, based on some twenty years of
experience with outsourcing of testing in one
form or another. First, I enumerate the key differences between in-house and outsourced test
teams. Next, driven by these key differences,
Ill analyze which tasks fit better with outsourced testing service providers, followed by
a similar analysis for in-house test teams. Then,
Ill list some of the technical, managerial, and
political challenges that confront a company
trying to make effective use of outsourced testing. Finally, Ill address some of the processes
needed to use testing service providers effectively and with the least amount of trouble.
50
KD2.
The cost structure of a testing service provider is variable, while an
in-house test team has start-up costs (infrastructure purchase), fixed costs (both
labor and infrastructure maintenance),
and variable costs (generally project-related contract labor).
KD3.
Testing service providers spread the purchase and maintenance
costs of particularly expensive infrastructures, such as network test facilities and
extensive hardware/software libraries,
across a large number of (customer) organizations. An in-house test team must
incorporate these costs into the development budget.
KD4.
Testing service providers
often have existing documented test cases, suites, procedures and processes that
have proven efficient (based on the test
labs continued existence). An in-house
test team may not have the competitive
pressures and sufficient repetition required to hone such tools.
KD5.
When the testing service
provider is focused entirely on testing, it
www.testingexperience.com
With these differences in mind, lets now analyze how these differences affect outsourced
testing.
www.testingexperience.com
The remote location of the testing service provider (KD8), while sometimes perceived as a
disadvantage, can provide benefits. First, it offers an environment where the test effort can
stay focused on the overall test plan, rather
than getting bogged down in the crisis of the
moment. Second, in conjunction with a dedicated liaison, a single contact window provides
a way of channeling information from the test
staff to the project team without non-test team
members interrupting testers with what they
think will be (but often are not) quick questions, a significant time drain for in-house test
teams. This means that one can hand off the
bulk of the test tasks to a testing service provider, knowing they will proceed towards the
agreed-upon goals for completion in a deliberate fashion, regardless of the tempests raging
around the project on-site.
service providers have the appropriate severity and priority assigned, and, indeed, whether
they are bugs at all, given the unique elements
of the system. Second, in-house test staff will
need to cover the unusual features in the system, or be prepared to provide direct support
to the testing service provider in terms of what
testing should occur. Third, in-house test staff
will need to test the most critical features, even
though you might also have the external labs
provide double coverage for added security.
In a mass-market, e-commerce, or software-asa-service situation, where many of your competitors often substantially similar products
and services, the openness of the external labs
(KD6) means that you cant obtain a significant competitive edge in terms of testing and
quality by using testing service providers exclusively. While using a dedicated testing service provider liaison allows for a great degree
of specialization and more-complete coverage,
to achieve truly distinctive levels of quality, an
organization must add testing in an in-house
test team. Furthermore, some of the testing
done by this team must utilize the information
available from business stakeholders and others with direct interaction with customers and
users to emulate the real customers and users
in terms of infrastructure environments, test
scenarios and usage profiles. In other words,
while in-house test teams have the potential
to provide a competitive edge in testing, that
edge does not come free, but rather requires
considerable forethought, cooperation and
hard work.
The lean staffing of testing service providers (KD7) affects handling of the critical test
tasks, those in which speed of completion,
accuracy of results, and thoroughness are all
of crucial importance. A good example is performance testing. In most testing service providers, specialized personnel are not always
available to work on your particular crisis task
at the exact moment you require the service,
and you or others in your organization might
find it unacceptable to have the testing service
provider place such crisis tasks in a queue for
service based on specialist availability. (Of
course, the distinction here may well be one
of appearance the perception of a uniform
sense of urgency as any actual difference in
the time required to complete the task. A testing service provider might, through efficiency
and expertise, hold an edge in handling such
tasks, but the politics of the crisis might require someone present on-site, visibly sweating the details and working long hours.) Note
that location (KD8) comes into play here as
well, particularly when the priorities tend to
change a few times a day, with the latency of
communication to an off-site testing service
provider making it difficult for them to keep
up with rapidly evolving conditions.
The rapidly mounting costs of external labs in
a cyclic mode (KD9) affects test tasks such as
regression testing. While using a testing service provider to provide a final check on the
product makes sense, delivering highly buggy products for testing can result in multiple
passes through the test suite at considerable
51
iStockphoto.com/Zemdega
A Community
100,000 Cer
www.ist
*October 2008
52
www.testingexperience.com
y Worldwide!
rtifications*
e right track?
tqb.org
www.testingexperience.com
53
expense. An in-house test team should ensure sufficient quality prior to engagement of
a testing service provider, using written entry
criteria.
Organizational Challenges
Using a testing service provider can involve
resolving a number of technical, managerial
and political challenges in many organizations.
Many of these challenges apply to distributed
testing in general; e.g., leveraging a vendors
test organization. Lets take a look at these
challenges so that you can resolve them before
they become obstacles.
First, since there is no widely-accepted definition of a test case, each test organization
involved will have cases consisting of a different number of conditions (granularity) and
requiring a different amount of time. Also,
some tests naturally break down into different
sized tasks. The test manager must ensure that
they have a way to integrate tests and test information across disparate testing teams in a
way that makes sense.
In addition to test case definitions, a continuum also exists in terms of where debugging
tasks end and where testing tasks begin. This
is multidimensional, applying to the responsibilities of developers versus testers, when
testers have performed sufficient isolation to
characterize a bug in a report sufficient for delivery to the development team, and when developers have performed sufficient testing to
return a fix to the test team. Each organization
will have a different answer. This is an issue
for testing service providers in that you need
an agreement in advance on the level of isolation performed for each bug report. Failure to
get sufficient isolation information in the bug
reports from the testing service providers will
result in a lot of questions and complaints by
developers about bugs reported by the testing
service provider.
In development projects that have international teams, language will be an issue. You cannot
assume that all testers will know the project
language, nor can you assume that a project
team member from another country who is
conversant in the project language will read
and write it as effortlessly as a native speaker.
The organization must make allowances for
varying levels of language proficiency, and
plans must exist for translating critical documents into the project language.
Influenced by the three issues above but distinct
from them is the matter of test result reporting.
While there is a certain minimal set of data one
expects to find in a bug report, standards and
formats vary widely. In addition, the ways in
which organizations track the status (pass, fail,
blocked, etc.) of test cases vary both in method
and in quality. The overall test results dashboard is likely to vary from one organization
to another. While converting everyone to a single format is unlikely, crucial milestones prior
to starting test execution include agreeing on a
minimal set of data, a frequency of reporting,
standards for failure reproduction procedures,
and standards for updating changing status. In
54
Someone must own the role of test coordinator or liaison to ensure integration of
the test results into the test management
and reporting processes.
All these processes must include active follow-up elements for the coordinator, liaison,
and/or test manager. In any distributed project,
especially one that spans time zones, multiple
opportunities exist for confusion, miscommunication, lost communication and ostrich-like
reactions to bad news or undesirable requests.
While distributed testing creates a matrix-like
test organization, the ultimate responsibility
for test task completion must remain with one
person.
www.testingexperience.com
Conclusion
Properly used, testing service providers can make a valuable and economical contribution to system and software projects. Categories of tests that make sense to
outsource include:
Tests that would cause a short-term spike in test manpower requirements, followed by downtime or layoffs.
Tests that cover a board range of hardware and software, or otherwise use
expensive infrastructures.
Tests that are routine and unglamorous, but important to shipping a quality
product.
Large blocks of tests that might not get done in-house due to changing priorities.
Some tests require in-house attention. Categories of tests that make sense to run
using in-house test teams include:
Tests and test result evaluations that require sophisticated domain knowledge.
Tests that provide a competitive advantage in terms of evaluating and improving product quality.
Tests that are time-critical and vital to project success, or which are subject to
rapidly evolving requirements.
Tests that establish system stability prior to release to an testing service provider for final testing.
In addition to dividing the test workload intelligently, the effective test manager
must handle the technical, managerial and political issues associated with using
external and distributed test resources. Many of these problems have to do with
mapping and integrating the disparate test organizations into a single virtual test
team. In addition, the test manager must allocate test units effectively and make
intelligent allocation compromises as needed. Finally, once the test manager has
the work divided and the virtual organization mapped, the test manager must ensure that appropriate processes exists to support the execution of the project. These
processes must support a single point of contact for gathering test results into a
consistent test dashboard and to ensure completion of critical tasks.
www.testingexperience.com
Biography
With a quarter-century of software and
systems engineering experience, Rex
Black is President of RBCS (www.rbcs-us.
com), a leader in software, hardware,
and systems testing. For over a dozen
years, RBCS has delivered services in
consulting, outsourcing and training for
software and hardware testing. Employing the industrys most experienced and
recognized consultants, RBCS conducts
product testing, builds and improves
testing groups and hires testing staff for
hundreds of clients worldwide. Ranging
from Fortune 20 companies to startups, RBCS clients save time and money
through improved product development,
decreased tech support calls, improved
corporate reputation and more. As the
leader of RBCS, Rex is the most prolific
author practicing in the field of software
testing today. His popular first book,
Managing the Testing Process, has sold
over 35,000 copies around the world,
including Japanese, Chinese, and Indian
releases. His five other books on testing,
Advanced Software Testing: Volume I,
Advanced Software Testing: Volume II,
Critical Testing Processes, Foundations
of Software Testing, and Pragmatic
Software Testing, have also sold tens of
thousands of copies, including Hebrew,
Indian, Chinese, Japanese and Russian
editions. He has written over twenty-five
articles, presented hundreds of papers,
workshops, and seminars, and given
about thirty keynote speeches at conferences and events around the world.
Rex is the President of the International
Software Testing Qualifications Board
and a Director of the American Software
Testing Qualifications Board.
55
I N T RO DU CING
Discover how Microsoft implements and
manages the software-testing process
company-wide
AB OU T T H E AU T H ORS
Alan Page has been a software tester for more than 14 years,
including more than 12 years at Microsoft Corporation.
Ken Johnston is group manager for testing in the Microsoft
Ofce business group.
Bj Rollison is a Test Architect in the test excellence organization
at Microsoft.
Authors website: http://www.hwtsam.com
iStockphoto.com/jrling
www.testingexperience.com
57
58
www.testingexperience.com
iStockphoto.com/sandsun
.NET Performance
4 days course by Sasha Goldshtein
April 27 - 30, 2009 in Munich, Germany
ed
i
im
es
c
la
Description
This four-day instructor-led course provides students with the knowledge and skills to develop high-performance applications with the .NET Framework. Building high-performance
applications with the .NET Framework requires deep understanding of .NET memory management (GC), type internals, collection implementation and most importantly - tools for
measuring application performance. The course features numerous performance measurement scenarios, optimization tricks, deep focus on .NET internals and high-performance development guidelines.
Intended audience
This course is intended for C# developers with practical experience of at least a year with
the .NET framework.
2800,- EUR
(plus VAT)
Pantone 295
100%
80%
Knowledge Transfer
Pantone 279
60%
40%
20%
cmyk
c:100
100%
80%
60%
40%
20%
c:55
c:41
c:28
c:14
cmyk
c:80
c:60
c:40
c:20
c:64
Please register by
email [email protected]
or fax +49 30 74 76 28 99
Testers may not always, or often, be in a position to influence whether usability expertise is
hired locally or offshore. However, they can
flag up the risks of whatever approach is used,
and adopt an appropriate test strategy.
The most obvious danger is if an application
has significant interaction with the user and
there is no specialist usability expertise on the
project. As I said earlier, this could mean that
the project abdicates responsibility for crucial
usability decisions to the offshore developers.
Testers should try to prevent a scenario where
the interface and user interaction are pieced
together offshore, and thrown over the wall
to the users back in the clients country for acceptance testing when it may be too late to fix
even serious usability defects.
Is it outside the traditional role of a tester to
lobby project management to try and change
the structure of the project? Possibly, but if
testers can see that the project is going to be
run in a way that makes it hard to do their job
effectively then I believe they have a responsibility to speak out.
Im not aware of any studies looking at
whether outsourcing contracts (or managed
service agreements) are written in such prescriptive detail that they restrict the ability of
test managers to tailor their testing strategy to
the risks they identify. However, going by my
experience and the anecdotal evidence Ive
heard, this is not an issue. Testing is not usually covered in detail in contracts, thus leaving
considerable scope to test managers who are
prepared to take the initiative.
Although Ive expressed concern about the
dangers of relying on a detailed up front specification there is no doubt that if the build is
being carried out by offshore developers then
they have to be given clear, detailed, unambiguous instructions. The test manager should
therefore set a test strategy that allows for
significant static testing of the requirements
documents. These should be shaped by walkthroughs and inspections to check that the
usability requirements are present, complete,
stated in sufficient detail to be testable, yet
not defined so precisely that they constrain
the design and rule out what might have been
perfectly acceptable solutions to the requirements.
Once the offshore developers have been set to
work on the specification it is important that
there is constant communication with them
and ongoing static testing as the design is
fleshed out.
Hienadz Drahun leads an offshore interaction
design team in Belarus. He stresses the importance of communication. He told me that
communication becomes a crucial point. You
need to maintain frequent and direct communication with your development team.
Dave Cronin of the US Cooper usability design consultancy wrote an interesting article
about this in 2004, [10].
We already know that spending the time to
60
holistically define and design a software product dramatically increases the likelihood that
you will deliver an effective and pleasurable
experience to your customers, and that communication is one of the critical ingredients to
this design process. All this appears to be even
more true if you decide to have the product
built in India or Eastern Europe.
To be absolutely clear, to successfully outsource product development, it is crucial that
every aspect of the product be specifically defined, designed and documented. The kind of
hand-waving you may be accustomed to when
working with familiar and well-informed developers will no longer suffice.
Significantly Cronin did not mention testing
anywhere in his article, though he does mention feedback during the design process.
www.testingexperience.com
Please fax this form to +49 (0)30 74 76 28 99, send an e-mail to [email protected] or subscribe
at www.testingexperience-shop.com:
Billing Adress
Company:
VAT ID:
First Name:
Last Name:
Street:
Post Code:
City, State:
Country:
Phone/Fax:
E-mail:
Delivery Address (if differs from the one above)
Company:
First Name:
Last Name:
Street:
Post Code:
City, State:
Country:
Phone/Fax:
E-mail:
Remarks:
1 year subscription
32,-
(plus VAT)
2 years subscription
60,-
(plus VAT)
Date
62
References
[1] NASSCOM Industry Trends, IT-BPO Sector-Overview. http://www.nasscom.org/Nasscom/templates/NormalPage.aspx?id=54612
[accessed 9th February 2009]
[2] Nielsen, J. Offshore Usability. http://
www.useit.com/alertbox/20020916.html [accessed 9th February 2009]
[3] Lewis, C., Rieman, J. Task-Centered User
Interface Design: A Practical Introduction.
University of Colorado internet book, 1994.
www.hcibib.org/tcuid/tcuid.pdf [accessed 9th
February 2009]
[4] Artman, H. Procurer Usability Requirements: Negotiations in Contract Development. Proceedings of the second Nordic
conference on Human-Computer Interaction
(NordiCHI) 2002. http://www.nada.kth.se/
kurser/kth/2D1622/03_04/ArtmanNORDIC.
pdf [accessed 9th February 2009]
www.testingexperience.com
Biography
nzeige_148,5x105mm_TExp:Layout 1
18.11.2008
www.testingexperience.com
63
Introduction
As a result of the recent global financial crisis
and rising costs, companies today are forced
to react fast to the changes in the market trend.
They need to be flexible and open to new costeffective approaches to win the competitive
game on the market and to improve the overall
quality of products/services. Companies need
to look in new locations with lower labor costs
to reduce overall costs. In addition, companies
who want to compete globally must comply
with regulatory requirements in the countries
in which their products/services are sold. IT
companies seeking international markets and
needing to localize their products to specific
platforms and languages very often use offshore development resources in or near their
target markets.
Outsourcing involves the transfer of the responsibility for carrying out an activity (previously carried on internally) to an external
service provider regardless of the providers
location. Generally speaking, the main goals of
outsourcing are: cutting operational costs and
reducing risks, availability of resources, using
advantages of new technologies, using competence centers, better IT service, more effective
way of using existing resources through focus
64
Asia/Pacific
Argentina
Brazil
Canada
Chile
Costa Rica
Mexico
Canada
Australia
China
India
Malaysia
New Zealand
Pakistan
Philippines
Singapore
Thailand
Vietnam
Czech Republic
Egypt
Hungary
Ireland
Israel
Morocco
Poland
Romania
Russia
Slovakia
South Africa
Spain
Ukraine
www.testingexperience.com
Loss of productivity
Cultural differences
The challenges in offshore development projects can range from language barriers, poor
project management, time zone differences,
immature or non-standard software development processes to cultural differences. Table
3 provides an overview of typical challenges
and key factors to ensure success of offshore
software development projects.
Use of IT outsourcing
Demand for skilled IT professionals continues
to grow, while education systems in many advanced countries are producing an insufficient
quantity of educated IT professionals. The
growing domestic shortage of qualified IT professionals is becoming the most important reason for offshore software development. Other
key drivers for companies offshoring software
development are increasing time to market and
labor cost savings. A few years ago, Forrester
Research [8] recommended using Agile processes for offshore software development.
There are many different kinds of outsourcing. For example, if you search for software
outsourcing, Google will approximately return 11 million pages. According to location
we can distinguish the following IT sourcing
models: onsite sourcing, onshore/domestic
sourcing (onshoring), nearshore outsourcing
(nearshoring), offshore outsourcing and global sourcing. If we consider the chronological
aspect, the following IT sourcing models are
possible: insourcing, outsourcing and backsourcing. Basic types of IT sourcing models in
Challenges
software development,
IT security management,
test automation,
graphics design,
web hosting,
server hosting,
help desk,
project management,
database management.
document/content management,
e-commerce projects,
www.testingexperience.com
65
Manual software validation tests in the regulated industry (e.g. medical device, pharmaceutical and biotech industry) conducted by
the in-house validation engineers or external
consultants can double a companys compliance costs.
In 2004 Forrester Research [9] has concluded that 1.2 million European jobs will move
offshore by 2015. Due to the global financial
crisis these numbers may even be higher than
forecasted. According to Forrester Research
[9], IT workers will take the biggest hit (approximately 150.000 jobs). There are many
benefits of moving jobs to overseas locations.
For example the average annual salary for a
system architect in the UK was 130.000 in
2004, compared with a just 40.000 average
salary for a comparable system architect in
India. Another example by Gartner [3] shows
that an application maintenance worker in India earns about $25 per hour, compared with
$87 per hour in the U.S.
66
jobs due to the credit crunch will turn to cybercrime. He pointed the rising trend of more sophisticated Trojan viruses and other malware
attacks being propagated through the Internet
to steal personal data, to get access to bank accounts and use stolen data for fraud transactions. According to Khalid Kark [4], a principal analyst at Forrester Research, the average
security breach can cost a company between
$90 and $305 per lost record. The total costs to
the company may run into millions of dollars.
A recent study report [13] published by the
Forrester Research, an independent technology and market research company, notes significant trend and continued evolution of cybercrime on the Internet (e.g. malware, spam,
phishing, emerging threats). Gartner research
study [5] points 75% of hacks happen at the
application level. Many web 2.0 applications
/ web services are vulnerable and therefore
an easy target for attacks. Some examples of
the most dangerous attacks at the application
level [6] are: cross site scripting (XSS), SQL
injection, improper authorization, hard-coded
password, etc.
www.testingexperience.com
References
[1] A.T. Kearney, Inc. Offshoring for Long-Term Advantage: The 2007 A.T. Kearney Global Services Location IndexTM. Report number ATK807022, 2007
[2] Corbett, M. F. & Associates: Taking the Pulse out of Outsourcing Data and
Analysis from 2001 Outsourcing World Summit. December, 2001
[3] Gartner, Inc.: Gartner: Five reasons why offshore deals go bust. 2005
<http://www.computerworld.com/managementtopics/outsourcing/
story/0,10801,102677,00.html>
[4] Kark, K.: Calculating the Cost Of A Security Breach. Forrester Research, Inc.,
April, 2007
[5] Lanowitz, T.: Now Is the Time for Security at the Application Level. Gartner,
Inc., December, 2005
[6] Martin, B. et al.: 2009 CWE/SANS Top 25 Most Dangerous Programming
Errors. The MITRE Corporation, January, 2009
[7] McCarthy, J.C. et al.: Offshore Outsourcing: The Complete Guide. Forrester
Research, Inc., September, 2004
[8] Moore, S., Barnett, L.: Offshore Outsourcing And Agile Development. Forrester Research, Inc., September, 2004
[9] Parker, A.: Two-Speed Europe: Why 1 Million Jobs Will Move Offshore. Forrester Research, Inc., August, 2004
[10] Peng, A., Benni, E., Hu, A.: Destination: China A Perspective on the Offshoring and Outsourcing Industry. McKinsey & Company, January, 2009
[11] The Standish Group: Extreme CHAOS. The Standish Group International
Inc., February, 2001
[12] The Standish Group: The CHAOS Report. The Standish Group International
Inc., December, 1994
[13] Wang C., Penn J, Dill A.: Threat Report: The Trends And Changing Landscape
Of Malware And Internet Threats. Forrester Research, Inc., June, 2008
Index Of Advertisers
Cognizant
Daz & Hilterscheid GmbH
eXept
FRHACK
ImproveQS
iSQI
ISTQB
Kanzlei Hilterscheid
Microsoft
PureTesting
RCBS
SELA
Testing Experience
Test Planet
www.testingexperience.com
18
32, 33, 47, 74, 93,
102, 104
63
24
39
10
52-53
101
56
102
36
97, 102
27, 31, 37, 41, 59,
76, 91
102
Biography
Nadica Hrgarek holds a B.Sc. in information systems and a Master of Science in
information science from the University
of Zagreb, Croatia.
Since March 2007 she is a member of
the Quality Assurance department at
MED-EL Elektromedizinische Gerte
(www.medel.com), an Austrian medical
device company located in Innsbruck.
Nadica is currently working as a quality
improvement specialist. Her responsibility covers all aspects of quality improvements ranging from coordination of
investigations, corrective and preventive
actions, non-product software validation
support, conducting training, internal
and supplier audits, etc.
Before joining MED-EL she was a
software quality engineer at Fabasoft
R&D Software (Linz), a system analyst
and quality specialist at InfoDom (Zagreb) and an organization assistant at
Mercator-H (Velika Gorica).
She holds the ISO 9000 internal and
lead auditor, ISTQB Certified Tester Full
Advanced Level, IREB Certified Professional for Requirements Engineering and
iSQI Certified Professional for Project
Management Foundation Level certificates.
She is co-founder and advisory board
member of the Croatian Testing Board
(CTB) founded in 2008. She is also a
member of the German Association for
Software Quality and Training (ASQF).
67
Dr Mike Bartley,
PhD in Mathematics at Bristol University and
Jos Daz, Editor
In May 2006, ahead of my recruitment. It was decided to recruit a Manager with specific responsibility for software testing (and pre-Silicon
hardware verification) and to ask that Manager to have as much of the
team offshore as possible.
2. What were the business criteria that were considered before coming up with the decision?
7. Why were Development and Testing split? What were the reasons
for going for independent testing? How was it beneficial?
There were many, but the main ones were to improve company focus;
to improve company resource flexibility and in doing so, reduce time to
market; software quality improvement; and finally cost variablization
and cost reduction.
When I first arrived, they werent split. The main reasons for splitting
them were to free up the internal developer team (who were doing the
testing) and to improve quality. There is also very strong evidence that
separating the development and testing along management, technical
and financial boundaries is a major contributor to software quality improvement.
8. Would you recommend that others outsource their software development and/or testing?
I now spend my time helping companies to do exactly that. The potential business benefits are huge and can be had by both large and small,
young and old companies. But the risks are high, too. My paper in the
magazine describes how to maximize your chances of success.
68
www.testingexperience.com
iStockphoto.com/blackred
Within MBT a distinction can be made between informal and formal MBT. The difference between formal and informal MBT is that
formal MBT uses formal test models that comply to certain standard modeling rules while
informal MBT doesnt use formal test models. Test cases can be automatically generated
from formal test models and must be manually
generated from informal test models.
www.testingexperience.com
69
During the creation of those early test models, incorrect, unclear or missing specifications will be found. This information should
be registered and communicated to the parties involved. When needed the specifications
should be updated and released. After each
release of new specifications the test models
need to be screened and adjusted to reflect the
changes that have been made. This can be an
iterative process.
Once the specifications and the test models
are approved, the design of the test cases can
commence. The test models will be used as a
guideline for designing the test cases and will
give the test designers a good overview of test
cases to be designed. The design of test cases
is a manual action when using informal
MBT.
Test cases will generally be stored in
a test management tool to be executed
manually or they will be adapted for
automation test cases to be executed
automatically.
Formal MBT uses strict notation guidelines for the models. This ensures compatibility with the test generation tool,
which can check and interpret the test
70
To automatically execute test cases the generated framework of automated test cases should
be adapted. The generated test cases are abstract test cases and should be made concrete
to make them executable. Abstract field names
should be mapped to real field names used
in the system, test data should be mapped to
test cases etc. The adapted test cases will be
administered in the test management tool and
can be executed automatically.
Problem domain
Solution domain
The generated logical test cases can be adapted to physical test cases by mapping test data
after which the test cases can be executed
manually.
User
requirements
Acceptance test
Acceptance test
System
System
integration test
integration test
System
requirements
System test
Functional domain
Technical domain
Component
integration test
Global design
Detailed design
Component
test
Implementation
www.testingexperience.com
Test organization
When applying MBT it is very important to
have the commitment of all parties, this includes management. MBT requires an adapted
way of working from the traditional testing.
Test models will have to be designed in an earlier phase of the project compared to the traditional design of test cases. Much interaction
will be needed between the functional designer
and the tester. Management will have to support and propagate this way of working. They
will also have to invest in training and possibly
in tooling; commitment is essential.
Model based testing also requires additional
skills to traditional testing skills. For this reason a new role or function is introduced for
MBT, the test constructor.
Tools
There are already many commercial and noncommercial MBT tools on the market. The
purpose of these tools is to generate test cases
based on test models. Some tools also support
modeling functionality and/or test execution
functionality.
The test tools can be grouped in online and offline model based testing tools. Offline model
based testing tools will generate a finite set of
tests to be executed later. This allows automatic test execution in third party test execution
platform. Online model based testing tools
will connect directly to a system under test and
test it dynamically. Online model based testing tools are common in the embedded industry while offline model based testing tools are
more common in the administrative domain.
The different tools available support different models notations like, for example, UML,
OCL, B notation, Spec#, FSM, etc. Some tools
also offer plug-ins for modeling tools like for
example Borland Together or IBM Rational
Software Modeler. This plug-in will check the
consistency of models.
Each tool also provides its own test case output. Test cases are generated as HTML, XML,
ASCII, Comma Separated, TTCN-3 output etc.
Some tools also offer plug-ins like for example
exporting test cases to HP Quality Center, etc.
Case studies
Informal model based testing for review purposes
www.testingexperience.com
Functional defects
Textual defects
71
72
Conclusions
By designing test models knowledge is gained
on the system and defects are found at a very
early stage. This will reduce much development and testing time. It is important to model
risk based, so start modeling the high risk requirements.
The test models are very useful for the creation
of test cases. This is the case for formal and
for informal test models. Formal models are
practically useful since these can be used for
automated test case generation. This will heavily reduce the maintenance on test cases; this is
especially the case when applying automated
testing. Instead maintenance on test models
will be needed. Maintaining test models will
be by far less time consuming than maintaining large test repositories.
will require the necessary tools like a modeling tool, an MBT tool for the generation of test
cases and test management and execution tooling. Decide what model notation to use and
make sure the people who will work on this
project will get a proper training in modeling,
MBT and tooling.
Start modeling as early as possible in the project and start to model simple functionality
to gain experience. Gradually more complex
functionality can be modeled. Test models can
get complex when not applying the correct
level of abstraction. For this reason it is important to design test models that contain enough
test information but will stay relatively small
at the same time.
When applying MBT consider if regression
tests are to be expected for certain functionality. If no regression is to be expected it might
not be useful to invest substantial time in the
initial set up of a formal test model. On the
other hand take into consideration that investing time in creating the test model will help to
find specification defects in an early phase.
And last but not least; just hop on board and
get enthusiastic!!
Biography
Elise Greveraars started testing in 1997
by setting up and managing a testing
department for an ICT company. In 2004
she started working as a test consultant
for Atos Origin. She is part of the national
testing competence group and in 2006
she initiated an Atos working group on
MBT. She won the Rising Star Award @
Eurostar 2008 on her presentation and
paper on MBT and is a real testaholic.
A first step can also be to start a small project to gain experience on formal MBT. This
www.testingexperience.com
1.
Outsourcing as a concept has been in existence for quite long; the idea
being organizations tend to become more effective and grow fiercely
when they focus on their core competences and leave the rest for experts to handle. For example in the case of banks, the core business
is banking and financial management, a retail shop is about increasing foot-fall and stock turnover. IT for these organizations is a business enabler, hence a significant amount of investments are made in
IT. However, as these organizations grow, their IT organizations tend
to transform into cost centers. Overheads get built into the system and,
if unaddressed, tend to wipe off margins. Outsourcing of non-core activities to experts will help attainment of quality solutions at optimized
cost. However, this demands a lot of synergy to be built into the system.
Outsourcing is a strategic initiative, and is about partnering. It involves
identification of tasks that can be outsourced, evaluation and selection
of vendors, identification of risks involved, mitigation plans, contracts
planning and sourcing, continuous evaluation and handling the right
portfolio mix. The choice of vendors is the most critical activity as the
entire ecosystem comprising of stakeholders will be impacted by the
move and performance. Typically organizations set up vendor management offices to handle outsourcing efficiently. Critical parameters such
as vendor capability to deliver solutions on time, credibility, reliability, mode of engagement etc are to be evaluated before the decision
to engage is opted. In an ideal scenario, a vendor can transition from
a mere service provider to a strategic partner. The key driver to success is building a strong relationship resulting in increased trust and
confidence. These symbiotic associations have always enabled faster
growth of the partnering organizations. However, there are factors that
can dent relationships which may be internal or external to the ecosystem. Overlooking these factors can adversely impact the entire move to
outsource, reaping little or no return on investment.
2.
To evaluate the market maturity, we need to consider a few critical factors such as velocity of outsourcing by organizations, the number of service providers, their size and capabilities, competition, influencers such
as regulatory bodies etc. Typically not all organizations have successfully ventured into IT outsourcing. An industry analyst report claims
that less than 20% of organizations have experimented outsourcing, of
which a mere 5% have opted for full-fledged outsourcing. This indicates that when competition intensifies, we could witness this percentage increase significantly. Large organizations with global footprints
have opted for IT outsourcing in a big way. On the supply side, the market is more mature with large number of players offering a wide range
www.testingexperience.com
This helps manage resource requirements based on need, especially while catering for the sudden rise and fall in demand.
Industry best practices and defined methodologies help in achieving higher quality.
The availability of testing tools expertise and infrastructure ensures reduced cost, improved quality and increased speed.
The metrics captured and reported help the business evaluate the
cost of testing.
73
Independent validation helps boost confidence levels during application go-live decision-making.
Outsourced testing models provide the benefits expected in any outsourced IT service model, such as access to a large pool of dedicated
professionals with a wide range of skills, and increased efficiencies due
to the value creators and solution accelerators developed based on the
teams deep expertise and experience.
4.
Outsourced testing models provide the benefits expected in any outsourced IT service model as well such as access to a large pool of
dedicated professionals with a wide range of skills, increased efficiencies due to the value creators & solution accelerators developed based
on the teams deep expertise & experience.
5.
Organizations experiencing increased quality issues owing to insufficient testing or ineffective processes and techniques
Organizations wanting to experiment with outsourcing. They typically tend to outsource testing rather than any other services because of the high cost-savings and relatively low risk involved.
Customers with large integrated application environments requiring regular maintenance in the form of bug fixes and enhancements
In the case of large applications, typically enterprise implementations, the support from vendors would cease after implementation
and stabilization. In such scenarios, the client tends to look at testing service providers instead of building an internal QA team.
Customers who do not have a dedicated QA organization where
developers or business analysts perform testers role. Outsourcing
testing helps them reduce the money spent on developers or free
up business analysts.
6.
Testing tools expertise and infrastructure availability ensures reduced cost, improved quality and increased speed.
Testing service providers invest significantly in various avenues of testing such as infrastructure, processes, people, tools, research, training
and development etc. This helps their clients obtain higher value for the
cost incurred, thereby maximizing the return on outsourcing.
http://www.testplanet.org/index.php?option=com_content&view=article&id=50
21.04.09-23.04.09
French
Paris
19.05.09-21.05.09
French
Paris
18.06.09-20.06.09
French
Paris
01.07.09-03.07.09
French
Paris
iStockphoto.com/ Terraxplorer
Much has been said and practiced on outsourcing, with both results and market acceptance
speaking for themselves. Limiting the discussion to the IT market, outsourcing is an alternative to otherwise hiring your own employees, aiming at advantages such as cost savings,
ramping-up capacity for seasonal demands,
and keeping energy focused in the organization core business. Subcontracting can also allow the entrance of specialized professionals
ready to fulfill specific project needs, without
dealing with issues such as the learning curve,
head hunting, union relationship and many
other concerns. Outsourcing is thus a reality.
Some known difficulties related to outsourcing are due to extra costs frequently not considered by the organizations. We can mention
operational, cultural and linguistic differences, internal divergences, communication
and knowledge transfer. Management issues
must be considered as well, mainly if we keep
our sight to geographically distributed teams.
More project managers are needed due to a
more complex process, even on just verifying
the project activities progress and results.
Different outsourcing solutions can be implemented, e.g., offshoring, nearshoring, onshoring, and co-shoring. Each one has its own
advantages and issues that must to be evaluated according to specific customer needs.
As a common feature we can point to the fact
that the customer doesnt need to train/prepare
employees or create a new specialty branch
within its structure.
On the offshore modality, services are performed in foreign countries where it is possible to find a good balance between specialized
workforce costs and enough maturity on the
local market processes. Economical and political stability and linguistic skills are a must on
this case.
www.testingexperience.com
75
iStockphoto.com/littleclie
Li
e
it
pl
Please register by
email [email protected]
or fax +49 30 74 76 28 99
(plus VAT)
Pantone 295
100%
80%
Pantone 279
60%
40%
20%
c:100
m:56
y:0
b:34
100%
80%
60%
40%
20%
c:55
m:27
y:0
b:0
c:41
m:20
y:0
b:0
c:28
m:14
y:0
b:0
c:14
m:7
y:0
b:0
cmyk
c:80
m:45
y:0
b:28
c:60
m:39
y:0
b:20
c:40
m:22
y:0
b:14
c:20
m:12
y:0
b:7
c:64
m:34
y:0
b:0
The course is enforcing those and aiming to educate test managers in how to
be better in these areas of concern. The course includes practical exercises
and simulations in the relevant topic areas.
Knowledge Transfer
cmyk
Description
The learning objectives of Adding Business Value & Increasing ROI in Testing
course focus on the below main areas of practical doing:
1450,- EUR
e
ac
To be able to know what test process improvement and TPI model are
Discuss a method for evaluating process maturity from different aspects
Discuss the different dependencies between the testing processes
Know how to quick-start TPI effort in a testing organization
Discuss which projects to pick for the TPI pilot (with best chances to
succeed)
Understand the implications of managing risks in testing projects
Understand the concepts of Risk Management
Describe Risk Based Testing principals
Understand what is the Risk language
Define where RBT can assist during the testing life cycle
To learn how to exercise an excel tool for risk strategy (planning phase)
Discuss test execution strategy issues and RBT
To learn how to exercise an excel tool for risk analysis (scheduling and
execution phases)
To learn about good communication concept and methods
To know different paradigms of personalities, and reflect those on us
Understand how to convince others without getting resistance
Discuss how to present and pass a message to others
Discuss how to give and obtain feedback, and get a positive impact
TPI is a registered trademark of Sogeti Nederland B.V.
Biography
Osmar Higashi is a senior IT consultant,
with expertise in Software Testing and
Quality Assurance. He holds a bachelor
degree in Computer Science and MBA in
Management.
In the last 15 years, Higashi is the executive director in charge of the strategies
of RSI Informtica (www.rsinet.com.br),
a Brazilian leader in Software Testing
and QA services. He had formed a team
with many ISTQB Certified Testers and
experienced consultants, to offer innovative and specialized services for the IT
market.
account the well-known importance of independent test teams to achieve agreed
software quality levels. Test factories dont mean the same as business process outsourcing (BPO) because even with testing activities being lead by an independent
test center, the overall test are intrinsically linked to the software development. The
specialized services offered are strongly related to the customers activities. It is
possible to deliver great advantages through the co-shore services offer.
With this contracting model, the local team can be formed by local and foreign
professionals, providing a much-needed mix of profiles. This small and specialized
team would be the interface with the customer, gathering the requirements, dealing
with scope and scheduling, and presenting the test results. The local branch would
deal with possible project changes and attend to customer satisfaction. This interface team, with strong communication and technical skills, would also be present
at the offshored team interface, clarifying customer needs to the test team at home.
The local and remote teams share the same corporate culture which helps minimize
possible management and communication issues and enables them to be resolved
internally and in a transparent way to the customer. With offshored services all
customer relations are handled by the local branch, creating the illusion (sensation)
of an entirely local service. Most of the cost would be generated by the offshored
team, which composes the majority of the allocated resources.
www.testingexperience.com
77
iStockphoto.com/ stevenallan
by Chen Bressler
With more than 3,000 companies, Israel has the highest concentration of
hi-tech companies in the world, second
only to the Silicon Valley.
Israel has the highest ratio of university degrees to the population in the
world.
78
based economy. A skilled workforce, combined with a competitive working environment and international quality standards have
made Israel into a global leader in IT solutions
and services.
Therefore, it is not surprising that the demand
for quality developers and testers, who command the newest technologies and methodologies, is one which cannot be taken lightly
in the competitive and export-based Israeli
industry.
Today we can see a tendency of increase in the
number of companies acquiring outsourcing
services from Israel. Two trends in the market
are the main reasons for this. The first reason
is the effective costs of the Israeli work force,
which is considerably lower than those in Europe and North America, while the costs in India and Eastern Europe are constantly rising.
Additionally, the expected output from Israeli
employees and the quality of challenges they
can handle are very high.
According to a study published by the Gartner research group, Israel is among the 30
leading countries in outsourcing services.
The study also relates to additional attributes - Countries such as Ireland, Israel,
Northern Ireland and South Africa fared
well for language skills, because of the quality and quantity of English-language speakers.
For these reasons we can see a tendency where
European and North American companies turn
to acquiring software solutions and services
from Israeli companies, specifically in testing
and R&D projects which require skill, expertise and advanced and relevant knowledge.
An additional reason is that throughout the past
years new models of outsourcing have developed in Israel in response to the need for the
reduction of costs in the competitive market,
and as an effective alternative for outsourcing
in other countries. The models are based on
the vast knowledge accumulated in the hightech industry over the years, and on the large
www.testingexperience.com
Summary
In an attempt to foresee the future, it is fair
to assume that the use of outsourcing in the
global high-tech market will continue to rise,
even when we will see, with a sigh of relief,
the end of the current financial crisis. Therefore, looking ahead to the next couple of years,
we can expect the appearance of more new
models of training and employing workers,
turning to additional populations, and a flurry
of changes in the countries who lead the table
of outsourcing.
Biography
www.testingexperience.com
79
iStockphoto.com/duncan1890
OperatingSystem Library
Telnet Library
How to use the Robot Framework in order to take advantage of the portability
features that can be implemented through
the use of the so-called variable files.
80
Figure 1
Getting Started
We assume that both Python and Robot are installed on a Windows system. Before using the
SSH Library, PyCrypto [4] and Paramiko [5]
shall be installed on the same system.
For Paramiko, installation instructions usually
indicate that MinGW is needed. As a matter
of fact MinGW is not needed for a successful Paramiko installation. PyCrypto requires
a compatible C-compiler (such as MinGW,
which comes with CygWin). Luckily you can
just install the prebuilt version (no compilation
needed).
www.testingexperience.com
output on the standard output before closing all connections. Please refer to Figure 1.
We can implement this simple test case as follows:
Setting
Value
Value
Value
Value
Library
SSHLibrary
Variable
Value
Value
Value
Value
${IP ADDRESS}
canada
${USERNAME}
mouse
${PASSWORD}
Hyu_123
${COMMAND}
ls
Test Case
Action
Arguments
TC1
Open
${IP ADDRESS}
Login
${USERNAME}
${PASSWORD}
${out}
${err}=
Execute Command
${out}=
Arguments
Arguments
Arguments
${COMMAND}
both
Setting
Value
Library
SSHLibrary
Value
Value
Value
Variable
Value
Value
Value
Value
${IP ADDRESS}
canada
${USERNAME}
mouse
${PASSWORD}
Hyu_123
${COMMAND}
ls
Test Case
Action
Arguments
TC1
Open
${IP ADDRESS}
Login
${USERNAME}
${PASSWORD}
${out}
${err}=
Execute Command
Log
${out}
Arguments
Arguments
Arguments
${COMMAND}
both
www.testingexperience.com
81
Figure 2
Setting
Value
Value
Library
Value
Value
SSHLibrary
Value
Value
Value
Variable
Value
${IP ADDRESS1}
canada
${USERNAME1}
root
${PASSWORD1}
admin
${COMMAND1}
ls
${IP ADDRESS2}
australia
${USERNAME2}
root
${PASSWORD2}
admin
${COMMAND2}
ls
Test Case
Action
Arguments
TC2
Open
${IP ADDRESS1}
Login
${USERNAME1}
${PASSWORD1}
${out}
${err}=
Log
${out}
${out}
${err}=
Arguments
Arguments
Arguments
Execute Command
${COMMAND1}
both
Execute Command
both
Before running this test case, as described above, we need to enable public-key authentication. In our test case we try and log in as root, so the
[root@canada
[root@canada
total 32
-rw-r--r-- 1
-rw-r--r-- 1
-rw------- 1
~]# cd .ssh/
.ssh]# ls -ltr
root root 8811 Dic 9 10:51 known_hosts
root root 241 Dic 12 11:25 id_rsa.pub
root root 951 Dic 12 11:25 id_rsa
82
www.testingexperience.com
On the host (in our case: canada), run the following command (it requests the passphrase, but leave it empty):
This creates two new files under /root/.ssh-directory:
Copy the id_rsa.pub-file to the host we want to connect to (in our case: australia), for example in the roots home directory and run there the
following command:
After that, we should be able to login and execute commands over SSH without passwords. In fact, we can observe that the variable ${PASSWORD2} is not used in the test case.
In our test cases we always need to use a syntax similar to that in the previous test case:
ssh user@somehost command.
Setting
Value
Library
SSHLibrary
Variables
${CURDIR}/suite_variables.py
Test Teardown
Test Case
Action
Arguments
Arguments
TC3
${conn1} =
@{Host1}
:FOR
${Command}
IN
@{Commands}
${out}
${err}=
Execute Command
...
Value
Value
Value
Arguments
Arguments
both
Log
${out}
Keyword
Action
Argument
Argument
Argument
Argument
[Arguments]
${Host}
${User}
${PassWord}
${Alias}= ${User}
${ConnId}
Open
${Host}
${Alias}
Login
${User}
${PassWord}
[Return]
${ConnId}
Figure 3
www.testingexperience.com
83
The file env_setup.py contains information about the testing environment such as IP-addresses and user credentials. We shall run env_setup.py
in the command line when we launch Robot (e.g.:pybot -V env_setup.py testcasename.html).
Running on the host side the command pybot help, we obtain a very long list of options. In Figure 3 the output of the V option is shown:
In our case, for example, the content of this file is the following:
env_setup.py
The idea behind this is that we can easily change our SUT (Software Under Test), if needed, by simply creating another env_setup.py that has
the IP-addresses and other data pointing to some other SUT; we do not need to make a separate test case just for testing in a different environment.
This increases portability, allowing also an easier repeatibility.
Another important feature of this test case is the definition of a keyword through the keyword table. The keyword is named Open and Login and
is used as in column Action of the test case table exactly as the other keywords. This kind of keyword is named USER KEYWORD (briefly, a
USER KEYWORD is used to combine a bunch of keywords, so that they can be used like a single keyword), but it does not have a correspondent
keyword-handler function contained in a python library (in fact we do not import any Library into the Setting Table).
This type of keyword must not be confused with the CUSTOM KEYWORD, which, to be defined, requires instead a keyword handler in a python library that shall be imported into the test case through the Setting Table (typically written in Python language, even if Robot supports other
languages encapsulated in a python library). Another observation, perhaps obvious at this point, is that we do not need any element in the keyword
./cli
./cli
./cli
./cli
./cli
./cli
./cli
./cli
./cli
./cli
./cli
./cli
par1
par1
par1
par1
par1
par1
par1
par1
par1
par1
par1
par1
121
122
123
124
125
126
127
128
129
130
131
132
par2
par2
par2
par2
par2
par2
par2
par2
par2
par2
par2
par2
126
127
128
129
130
131
132
133
134
135
136
137
table for CUSTOM KEYWORDS. The definition of CUSTOM KEYWORD is addressed in the next example.
class pars_gen_lib:
commands=[]
a = int(i_Init)
b = int(i_End)
for i in range(a, b):
j = i+120
k =i+125
command = ./cli + par1 %d %(j) + par2 %d %(k)
commands.append(command)
return commands
Moreover, there could be opportunities to test similar configurations in the future, so the introduction of the keyword-handler
could allow future re-use. We define the following python library
called pars_gen_Lib:
84
www.testingexperience.com
Value
Value
Library
SSHLibrary
Library
pars_gen_Lib
Test Teardown
Variable
Value
${IP1}
canada
${USER1}
root
${PWD1}
admin
${IP2}
australia
${USER2}
root
${Com1}
ls
${Com2}
cd opt
${Com4}
Value
Value
Value
Value
Value
Test Case
Action
Arguments
Arguments
Arguments
Arguments
TC4
Open
${IP1}
Login
${USER1}
${PWD1}
${out}
${err}=
Execute
Command
ssh ${USER2}@${IP2}{Com1}
Log
${out}
${out}
${err}=
Execute
Command
ssh ${USER2}@${IP2}{Com2}
Log
${out}
@{Com3Cms}=
Com3
12
:FOR
${Command}
IN
@{Com3Cms}
${out}
${err}=
Execute Command
...
both
Log
${out}
${out}
${err}=
Execute
Command
Log
${out}
ssh ${USER2}@${IP2}${Command}
ssh ${USER2}@${IP2}{Com4}
The above test case implements the following actions on the target:
1.
2.
3.
4.
par1
par1
par1
par1
par1
par1
par1
par1
par1
par1
par1
par1
121
122
123
124
125
126
127
128
129
130
131
132
par2
par2
par2
par2
par2
par2
par2
par2
par2
par2
par2
par2
126
127
128
129
130
131
132
133
134
135
136
137
Steps 1, 2 and 4 are single commands and can be implemented with the related variables in the Variable Table.
www.testingexperience.com
85
Step 3, on the contrary, calls the keyword-handler Com3 with parameters 1 and 12:
this generates a FOR-loop of the 12 commands in the structure evidenced in grey .
As we can see from the first evidenced row, the first operation is used to fill the list
@{Com3Cms}= by calling our custom keyword Com3 with parameters 1 and 12.
As a result the list is filled with all 12 commands, and a simple FOR-loop operation
is performed.
We can underline two aspects in this test case:
1.
2.
Instead, we can store our keyword in a variable (both scalar and list) and use that
as a parameter in the cell that already contains a keyword; the correct syntax for the
example is therefore the following:
${cmd}= | XYU |
${out} | ${err}= | Execute Command | ssh
${USER2}@${IP2} ${cmd} | both
3.
All parameters read from the Robot test case table are treated as a string.We
can get Robot to treat your parameters as integers such as ${3}, but it is good
practice to convert parameters to the form in which they are required inside
our custom keyword, as we have done in the last example in our Com3 keyword, directly in Python.
Conclusion
After trying several Open Source Test Automation tools, for this article I chose the
Robot Framework for three main reasons:
its pure keyword-driven technique, more flexible than the approach used by
other renowned tools such as FIT/Fitnesse, where different tables need different fixtures;
How the Robot Framework can be used to execute data-driven tests is described
both in Quick Start Guide [7] and User Guide [8].
Summarizing, we have analyzed, step by step, how to improve simple test cases,
emphasizing the variable file approach, the difference between custom and user
keywords, and the use of the most important features offered by the SSH Library.
As a matter of fact, the SSH Library offers many other keywords (as presented in
[3]), and it can be combined with the Operating System Library to easily implement powerful acceptance test cases, possibly structured in form of hierarchical test
suites for the command-line testing of complex network architectures.
References
[1] http://robotframework.org : Robot Framework Main Page
[2] M. Michalak, P. Laukkanen. Robot Framework for Test Automation. Testing
Experience, December 2008.
[3] http://code.google.com/p/robotframework-sshlibrary/ : Robot SSH Library
[4] PyCrypto sources are available at: http://www.amk.ca/python/code/crypto.html
Windows prebuilt PyCrypto: http://www.voidspace.org.uk/python/modules.
shtml#pycrypto
[5] Paramiko is available at: http://www.lag.net/paramiko/
[6] http://sial.org/howto/openssh/publickey-auth/ : General info on public-key authentication
[7] http://robotframework.googlecode.com/svn/trunk/doc/quickstart/quickstart.
html#data-driven-test-cases
Biography
Born in 1975 and graduated in Computer Science and Information Engineering
at the Politecnico of Milan, despite of
the 7+ years of experience, Alessandro
has matured and exploited know-how in
conducting various medium-sized and
large projects for several companies in
various fields, in particular:
Avionics (working on very complex
equipments for the most important
Helicopter Consortiums)
Aerospace (working on a part of the
ground segment for the ESA Mars
Express project)
Energy (working in a project conceived to provide new services in
the market of energy distribution)
Industrial (working on consumer
electronic products)
Telecommunications (where he
is currently working for innovative
platforms for UMTS)
Concerning the above activities, he has
worked on all the phases of a complete
classical product life cycle, ranging from
specification to acceptance testing. In
this respect, he has concentrated his
efforts mainly on verification and validation activities (e.g. in avionics he has participated successfully in the certification
of an embedded system for a real-time
application, according to the DO-178B
standard).
He works in Italy at ONION S.p.A. (www.
onion.it) and collaborates closely with Dr.
Gualtiero Bazzana (CEO of Onion S.p.A.
and founder of ITA-SQTB) for important
initiatives in software testing.
Alessandro is also active as speaker
at software conferences, as program
committee member of important conferences, as author for testing magazines,
and is very much involved in the Agile
community.
[8] http://robotframework.googlecode.com/svn/trunk/doc/userguide/RobotFrameworkUserGuide.html#workflow-tests-vs-data-driven-tests
86
www.testingexperience.com
iStockphoto.com/ tacojim
Introduction
If we carry out inspection of specifications
properly (Gilb and Graham 1993), the cost is
barely tolerable for some: about one hour of
effort, per page1 checked, per systems engineer or software engineer. The harvest, even if
we are skilled, is only to identify between 4080% of the major defects. That leaves many
remaining major defects undetected, and many
of these will be found, at considerable cost,
during testing or in the final released product.
Of course, finding defects using traditional
inspection (and fixing them) earlier than the
test stage is beneficial, and may even pay off.
However, there is a better way: Agile Specification Quality Control (Agile SQC). It ought
to appeal to all Spec QC purposes, and especially to the many organizations that have not
been able to stomach the high costs, and low
effectiveness, of traditional inspection.
The main concept of Agile SQC is to shift emphasis from finding and fixing defects, to estimating the specification defect density, and
1
A page is defined as 300 words of
non-commentary text. Non-commentary text is core
specification or background text; it is not notes or
other commentary text.
www.testingexperience.com
Process Details
Traditional Inspection Method: The old inspection method (widely practiced in CMM Level
3 as peer reviews) was based on the idea of
inspecting 100% of all pages, at optimum rate
checking (one page per hour), using a review
team of between 2 and 5 software and systems
engineers. The maximum yield of major defects from such an inspection process is in the
range of 40%-80% depending on specification type (For example, a maximum of 60%
for software source code specifications, and a
maximum of 80% for requirements specifications in practice, however, it is actually more
likely that only 30% is achieved since malpractice is common). The reported ability to
actually correctly correct major defects, once
found, is only 5 out of 6 fixes attempted (Fagan 1986 reported in Gilb and Graham 1993).
Sampling of a specification;
For each individual systems or software engineer (each one must be motivated and trained
personally), their sampled specification pages
will be checked against a set of a few simple
rules usually about 3 to 7 rules are applied
(For example, for initial checks, these could
be: Clear enough to test, Unambiguous to intended readers, and No design options in the
requirements). The reviewers/checkers are
asked to identify all deviations from these
rules. Any deviation is termed a specification defect. The reviewers/checkers are then
asked to classify any specification defect that
can potentially lead to loss of time, or significant reduction in product quality, as major.
The entire checking session might use only
2 engineers for 30 to 60 minutes. This might
seem quite a high checking rate, but remember that only a few rules are being used and no
other documents are being consulted to check
87
The team will not have time or experience to get up to speed on the rules and
the concept of major defects;
However, if the sample turns up a defect-density estimation of 50 to 150 major defects per
page (which is quite normal), that is more than
sufficient to convince the people participating,
and their managers, that they have a serious
problem.
As discussed earlier, the immediate solution to
the problem of high defect density is not to set
about removing the defects from the document,
because the same order of magnitude level of
defects would still remain. The best solution
for a document with a high defect density is
to rewrite it entirely, using an individual who
does not insert too many defects. Long term,
88
www.testingexperience.com
inspection is 11.2;
Source
Documents
A few months later, as a result of the continuing overall success of the pilot testing, the client decided to spread Agile SQC widely to all
types of technical specification.
Kin
Documents
Main
Specification
Rules
Specification
Rules
Specification
Review Rules
Clear,
Complete &
Unambiguous?
Main
Specification
(SQC Exited)
Right Thing
To Do?
Entry Process
Task Process
Exit Process
Main
Specification
(SQC Exited)
Review
(Go / No Go)
Decisions
And Actions
To Be Taken
2.
3.
www.testingexperience.com
89
90
ation is that not all major defects in specifications will directly lead to bugs. The problem
being that we dont know exactly which of
the major specification defects will actually
cause bugs to be inserted - that depends on the
sleepiness of the programmers on the day!
Two pieces of research I recall showed that
25% to 35% of the majors actually turn into
bugs. For example, to make this plausible, a
random guess as to the correct interpretation of
an ambiguity with 2 options would give a 50%
chance of a bug and 50% not. I have found that
a good rule of thumb, that correlates well with
observed reality, is that one third of the major
defects will cause bugs in the system. So, for
this example, that implies that about 4,100 (=
12,300/3) bugs will occur.
What do these major defects cost in project
terms? How do they delay the project?
One of my clients (Philips Defence, UK, see
case study in (Gilb and Graham 1993, page
315)) studied about 1,000 major defects found
in specification inspection of a wide variety
of systems engineering specifications. They
determined that the median downstream cost
of not finding the majors would have been 9.3
hours (range up to 80 hours). So I use 10 hours
as a rough rounded approximation of the cost
of a major if it occurs downstream (at test and
field stages).
Well, in this case study, that implies 41,000
hours (10 x 4,100 defects that hit us) effort
lost in the project through faulty requirements.
I was quite shocked at the implication of this
quick estimate based on a small sample. But
the managers were quite at home with it. They
responded, Dont worry, Tom, we believe
you!
Why? I asked. So they explained, Because
(and we know you did not have any inkling of
this) we have 10 people on the project, each using about 2,000 hours per year, and the project
is already 1 year late (a total of 20,000 hours),
and we have at least one more year of correcting the problems before we can finish.
Case Study 3: An Air Traffic Control Project (In Sweden & Germany)
Another client had a seriously delayed software component for an air traffic control simulator. The contract dictated about 80,000 pages
of logic specifications. The supplier had written and approved about 40,000 pages of these.
The next stage for the logic specifications was
writing the software.
www.testingexperience.com
iStockphoto.com/ Tammy616
l
on
10
s
ce
pl
I attended James Lyndsays 2-day exploratory testing tutorial and it was very useful and fun.
If you expect loads of theory to be thrown at you - dont bother. But if you want lots of hands-on exercises,
eye-openers and discussions, combined with a refreshing view on testing, this is the course for you. On top
of that, James is a very engaging teacher, and an allround nice guy :-)
Zeger Van Hese, CTG Belgium N.V./S.A.
1250,- EUR
(plus VAT)
Pantone 295
100%
80%
Knowledge Transfer
Pantone 279
60%
40%
20%
cmyk
100%
80%
60%
40%
20%
c:55
c:41
c:28
c:14
cmyk
www.testingexperience.com
c:100
Please register by
email [email protected]
or fax +49 30 74 76 28 99
c:80
c:60
c:40
c:20
c:64
91
92
Summary
they spend approximately 3-4 hours engineering effort per page of specification
(for full effectiveness).
www.testingexperience.com
References
Bhandari, I., M.J. Halliday, J. Chaar, R. Chillarege, K. Jones, J.S. Atkinson, C.
Lepori-Costello, P.Y. Jasper, E.D. Tarver, C.C. Lewis and M.Yonezawa, In-process
improvement through defect data interpretation, IBM Systems Journal, Issue 1, Volume 33, page 182, 1994.
Dion, Raymond. July 1993. Process Improvement and the Corporate Balance Sheet.
IEEE Software. Pages 28-35.
Fagan. M. E, Advances in Software Inspections, IEEE Transactions on Software
Engineering. Vol. SE-12, No. 7, pp 744-751, July 1986.
Gilb, T. and Graham, D., Software Inspection, Addison Wesley, 1993.
Gilb, T., Competitive Engineering: A Handbook For Systems Engineering, Requirements Engineering, and Software Engineering Using Planguage, Elsevier Butterworth-Heinemann, 2005. ISBN: 0750665076.
Haley, T., B. Ireland, Ed. Wojtaszek, D. Nash, R. Dion. Raytheon. 1995. Raytheon
Electronic Systems experience in Software Process Improvement. This paper is
available on-line at http://www.sei.cmu.edu/publications/documents/95.reports/95.
tr.017.html
Humphrey, W. S., Managing the Software Process, Addison-Wesley, Reading, MA,
1989.
iStockphoto.com/ Palto
The author is extremely grateful for editing assistance from Lindsey Brodie, Middlesex University, UK, on this paper.
Biography
Tom Gilb is the author of Competitive
Engineering: A Handbook for Systems
& Software Engineering Management
using Planguage (published in June
2005), Principles of Software Engineering Management (1988) and Software
Inspection (1993). His book Software
Metrics (1976) coined the term and
was used as the basis for the Software
Engineering Institute Capability Maturity
Model Level Four (SEI CMM Level 4).
His most recent interests are development of true software engineering and
systems engineering methods.
Tom Gilb was born in Pasadena CA in
1940. He moved to England in 1956,
and then two years later he joined IBM
in Norway. Since 1963, he has been an
independent consultant and author. He
is a member of INCOSE.
IREB
Certified Professional for
Requirements Engineering
- Foundation Level
http://training.diazhilterscheid.com/
[email protected]
30.03.09-01.04.09
25.05.09-27.05.09
www.testingexperience.com
Berlin
Berlin
The Magazine for Professional Testers
93
iStockphoto.com/ DNY59
94
by George Wilson
testing techniques. For example, Scott W. Ambler has a list of 21 different testing techniques
as part of his FLOOT (Full Life Cycle ObjectOriented Testing) methodology, including
white box, black box, regression testing, stress
testing and UAT. (http://www.ambysoft.com/
essays/floot.html)
TDD programmers rely on these tests to verify
their code is correct. If the requirements (test
cases) are specified incorrectly, then youll
build robust code that fails to meet the objective.
Therefore, most agile projects include investigative testing efforts (black-box) which
support rather than compete with white-box
testing. Good investigative testing will reveal
problems that the developer missed before
they get too far downstream.
Myth Two: You can reuse unit tests to build
a regression test suite
Some TDD proponents argue that conventional downstream testing is unnecessary
because every line of application code has a
corresponding test case; they suggest that by
reassembling unit tests, everything from User
Acceptance Tests to Regression Tests can be
performed.
Although this sounds feasible, it isnt realistic,
and heres why:
The granularity and objectives of white-box
unit tests developed in TDD serve a different
purpose from downstream black-box testing.
While the overall objective of a unit test is
designed to prove that the code will do what
is expected, the aim of regression testing is to
ensure that no unexpected effects result from
the application code being changed. These two
www.testingexperience.com
www.testingexperience.com
95
Software delivery that meets business objectives (fit for purpose, on time and
on budget), not who owns which part of the process.
What can testers contribute to the requirements gathering phase to ensure they
are involved in the TDD process?
How can testers maximize reuse of the assets created during the development
phase?
Is there a role for the traditional tester in TDD, or should they (like the
developers) be acquiring new skills to enable them to adapt to the new paradigm?
How can developers and testers find mutual benefit in exploiting new advances
in software development and testing tools?
Biography
Conclusion
Agile projects are in fact an excellent opportunity for QA to take leadership of the
agile processes; who else is better placed to bridge the gap between users and developers, understand both what is required, how it can be achieved and how it can
be assured prior to deployment? QA should have a vested interest in both the how
and the result, as well as continuing to ensure that the whole evolving system
meets the business objectives and is fit for purpose. But it requires QA professionals to be fluid and agile themselves, discarding previous paradigms and focusing on
techniques to optimize a new strategy to testing.
* Definition taken from The Glossary of Software Testing Terms from Original
Software (www.origsoft.com)
iStockphoto.com/ Andresr
Subscribe at
www.testingexperience.com
Pantone 295
100%
80%
Pantone 279
60%
40%
20%
cmyk
96
c:100
m:56
y:0
b:34
100%
80%
60%
40%
20%
c:55
m:27
y:0
b:0
c:41
m:20
y:0
b:0
c:28
m:14
y:0
b:0
c:14
m:7
y:0
b:0
cmyk
c:80
m:45
y:0
b:28
c:60
m:39
y:0
b:20
c:40
m:22
y:0
b:14
c:20
m:12
y:0
b:7
c:64
m:34
y:0
b:0
www.testingexperience.com
iStockphoto.com/ GeorgePeters
Introduction
Conformance testing and interoperability testing are less well-known than functional testing, performance testing or usability testing.
Moreover, they may seem dull to some people.
They are all about standards, thick technical
specifications, and repetition. Nevertheless,
Derk-Jan de Grood and his colleagues believe
that conformance and interoperability testing
are as important as other types of testing and
can be interesting, challenging, and rewarding.
This article highlights important concepts such
as interface standards, multi-vendor architectures and oracles. It provides insight into the
problems you might have to deal with when
you move on to conformance testing.
98
Think about bank cards, ID-badges and electronic passports. In all of these systems we
recognize an owner that should be able to use
his/her card with a wide variety of different
machines. In the case of a bank card, these can
be ATMs from different manufacturers and
banks. An electronic passport will be read by
different types of passport scanners in various
countries all over the world.
Interoperability is also important within service-oriented architectures (SOA). Within an
SOA, the system often calls services that are
outside the boundaries of the organization.
A typical example is that of a web shop that
helps customers find the cheapest offer. The
web shop requests availability and price information at various shops that have an SOA
interface. Again, we recognize a one-to-many
relationship.
A third example where interoperability plays a
major role is embedded software. Manufacturers of consumer electronics reduce their timeto-market by integrating a growing number
of commercial-off-the-shelf (COTS) components into their products. Each of the components should be compatible with the main
system and also be able to communicate with
other components within the device. But its
important to remember that the component is
probably used in other devices by other manufacturers as well. Once more, we recognize a
one-to-many relationship.
In order to make these open environments
work, agreements are made about the working
of the system and the way data is exchanged
with peer systems. By complying with those
specifications or standards, the interoperability
of the systems is guaranteed.
If we decide to build according to a standard,
we should also test whether this has been done
www.testingexperience.com
Multi-vendor architectures
Conformance and interoperability play
a major role in multi-vendor or open
architectures. These are architectures
where more than one manufacturer
(vendor) is allowed to deliver parts for
the system. Advantages of multi-vendor
architectures are that they prevent
vendor lock-in and promote competition. The system owner is assured of his
independence towards the manufacturers. He will not have a problem if one of
the suppliers is unable to deliver. This
independence leads to healthy competition and stimulates innovation.
ATM 1
ATM 2
ATM 3
ATM 4
Card I.a
Card I.b
Card II
Card III
If the number of different systems increases, the testing effort and time will
explode to unrealistic measures.
Since cross-over testing is difficult and timeconsuming, one prefers to execute, prior to integration, a run of conformance tests on each
www.testingexperience.com
standard quite easily. But each of the manufacturers will also have some features in their
existing products that distinguish them from
their competitors systems. These points will
lead to a lot of discussion among manufacturers. Often, the manufacturers will settle for a
high-level solution, in order to stop the discussions and get the standard finished in time.
Testing is of course all about the details, and
more than once the testers questions will trigger the discussion once more. This can lead to
a delay in the project. Often this problem is
mitigated by creating an oracle. An oracle is
able to make straight and firm decisions that
are followed by all parties. This can be seen
in the EMV scheme. The success of EMV lies
partly in the fact that VISA and MasterCard
are such strong parties. When VISA and MasterCard agree on a solution, all other parties
will follow. For this reason, VISA, MasterCard
and JCB operate EMVCo, which acts like an
oracle that decides upon all issues regarding
EMV and prevents endless discussion by the
members.
Incomplete test set
Conformance tests are carried out to minimize
the number of problems that arise when two or
more systems are integrated. The test should
lead to a declaration of conformance. Conformance testing is therefore all about coverage of the standard.
Experience shows that designing tests with
full coverage is quite a challenge.
The international e-passport is specified by
the International Civil Aviation Organization
(ICAO). ICAO also publishes a test standard
for both e-passports and e-passport readers.
An assessment that Collis did on these test
specifications found that they did not cover all
requirements. In particular, the test set did not
contain enough negative testing, and tests for
the correct formatting of the biometric data in
the passport were missing.
The figure below illustrates the relation between standard and test design. Risks are indicated if there are omissions in either standard
or test design.
99
Error injection
Test results unambiguous
test design
100
www.testingexperience.com
K:
, 0, 18
37, 175
Katrin Schlke
ne:
Biography
Berlin, Germany
IT Law
Contract Law
German
English
French
Spanish
www.kanzlei-hilterscheid.de
[email protected]
www.testingexperience.com
101
ISTQB
Certified Tester
Training
in France
Testing Services
www.puretesting.com
www.testplanet.fr
a Daz & Hilterscheid partner company
ISTQB
Certified Tester
Training
in Spain
Training by
www.sela.co.il/en
www.certified-tester.es
Masthead
EDITOR
Daz & Hilterscheid
Unternehmensberatung GmbH
Kurfrstendamm 179
10707 Berlin, Germany
Phone: +49 (0)30 74 76 28-0
Fax: +49 (0)30 74 76 28-99
E-Mail: [email protected]
Daz & Hilterscheid is a member of Verband der Zeitschriftenverleger Berlin-Brandenburg e.V.
EDITORIAL
Jos Daz
ISSN 1866-5705
In all publications Daz & Hilterscheid Unternehmensberatung GmbH makes every effort to respect the copyright of graphics and texts used, to make use of its own graphics and texts and to utilise public domain graphics and texts.
WEBSITE
www.testingexperience.com
ARTICLES & AUTHORS
[email protected]
160.000 readers
ADVERTISEMENTS
[email protected]
SUBSCRIBE
www.testingexperience.com/subscribe.php
PRICE
digital version: free of charge
print version:
8,00
102
www.testingexperience.com
Yarons Forecourt
Outsource your testing Is it really worth it? Some tips
Dear colleagues and readers,
I hope that the winter didnt catch you unready
and you had a great time with your families
and friends over the holidays. Welcome back
and please feel free to join me for a glass of
chilled wine or what ever you choose so, are
you ready?
Outsource your testing Hmm, well, I would
like to start by sharing with you my first adventure with outsourcing: when I was a junior
test engineer and looked for a job I saw that
one of my options was to join a leading test
consultant company as one of their employees.
At that time I had many other options too, so
the debate was whether to choose a consultant
company who were experts in testing, to learn
from experts, and participate in interesting and
challenging projects (I hoped) or to join a
high-tech company and hope that I would get
the same. In the end I chose to join a high-tech
company. A long time has passed since then,
and now-a-days, as a manager, I see things a
bit differently. However, before continuing,
just remember that this is your choice to decide where to be and with whom to work.
My peers (managers like myself) and I ask ourselves about this a lot - isnt it better to have
your own personnel near you and employed by
your company? Well, probably yesbut the reality is totally different. We as managers have
to follow the companys rules and procedures;
we already know that salaries are one of the
biggest items on a companys budget, and hiring is part of the strategic plans. A short story if
I may: one of the managers I know told us that
she had a team who worked under an off-shore
contract, and they didnt perform well. She
approached her manager asking him to stop
the contract and hire sub-contract employees
to work in the company she even suggested
reducing the number of employees, claiming
that it would be much easier for her to manage a small number locally than a larger group
off-shore, and she was sure that they would
perform better. Her manager looked at her and
said: you know, you have no choice, manage them or lose them, because the company
will not hire subcontractors now, if they have
an outsourced team. What to do, Yaron?
she asked; Well I told her I have a team in
India, and together with the team leader, the
team members there, and a contact person in
Tel-Aviv we did a small revolution we cre-
by Yaron Tsubery
Biography
Yaron Tsubery has been a Director of QA & Testing Manager at Comverse since 2000. Yaron is
in charge of a large group that includes Testing Team Leaders and Test Engineers.
Yaron has been working in software since 1990, and has more then 17 years in testing field as
a Test Engineer, Testing TL, and Testing Manager.
Yaron is a member of ISTQB (International Testing Qualifications Board www.istqb.org) and is
the President and founder of the ITCB (Israeli Testing Certification Board www.itcb.org.il). He
is a member of IQAMF (Israeli QA Managers Forum) and in SIGiST Israel.
Yaron has been invited as a speaker to some important international conferences to lecture on
subjects related to testing.
www.testingexperience.com
103
23.03.09-26.03.09
German
Dsseldorf/Kln
30.03.09-01.04.09
German
Berlin
06.04.09-09.04.09
German
Dsseldorf
20.04.09-22.04.09
German
Berlin
21.04.09-23.04.09
French
Paris
27.04.09-29.04.09
German
Frankfurt
27.04.09-30.04.09
German
Berlin
04.05.09-07.05.09
German
Berlin
11.05.09-13.05.09
German
Hannover
11.05.09-14.05.09
German
Berlin
18.05.09-20.05.09
German
Berlin
19.05.09-21.05.09
French
Paris
20.05.09-22.05.09
English
Palma de Mallorca
25.05.09-27.05.09
German
Berlin
08.06.09-10.06.09
German
Berlin
15.06.09-18.06.09
German
Berlin
18.06.09-20.06.09
French
Paris
22.06.09-24.06.09
German
Munich
29.06.09-02.07.09
German
Frankfurt
01.07.09-03.07.09
French
Paris