Академический Документы
Профессиональный Документы
Культура Документы
number 3 of a series
The aim is to promote best practice for the benefit of customers and the whole IT industry.
We believe that working together will promote a sense of trust in the testing profession and help leading organisations and customers to improve the effectiveness of their critical IT projects.
This is the third in a series of White Papers that will demonstrate the importance of testing to senior management and will form the basis of a best practice framework.
intellectuk.org
Non-Sponsoring Contributors: IBM (UK) Ltd QBIT Ltd Satyam Computer Services Xansa Plc.
isintegration.com
mercuryinteractive.co.uk
simgroup.com
missiontesting.com
rational.com/ worldwide/uk/
This document is for information purposes only. The authors make no warranties expressed or implied in this paper.
2004
white paper
number 3 of a series
Table of Contents
Executive Summary Page 1
Executive Summary
Testing is increasingly being seen as a vital aspect of software development and delivery. However, ineffective testing can be just as damaging as no testing, costing significant project time, effort and money. Ultimately poor testing may fail to address software quality and reliability, with the unacceptable result that your customers are the ones who find and report the defects in your software.
Introduction
Page 2
Page 3
Page 5
If testing is the right thing to do, how can you ensure that
Ensuring the Successful Adoption of Test Process Page 8
testing is done right? This white paper, the third in a series of white papers from the
Page 10
Intellect Testing Group, will explain how your organisation can leverage the vast body of testing best practice that has been accumulated and used by those organisations that do testing right, helping to ensure you consistently reduce testing time, effort and cost, and deliver higher quality software more quickly.
Conclusion
Page 11
References
Page 11
Page 12
Introduction - which reviews the challenges facing organisations engaged in testing and discusses the role of process in addressing them
Making the Case for Test Process - provides a number of success stories of companies adopting test process
Process Implementation and Improvement - explains the key elements of a test process with guidance on how to define and implement the appropriate test process for your organisation
Ensuring the Successful Adoption of Test Process - lists the key dos and donts of successful test process adoption
Where can I go for Further Information - provides guidance on where you can go to find further information on test process.
white paper
number 3 of a series
Introduction
When you ask senior managers in organisations developing software if they follow industry best practices in their testing activities, the vast majority of them will confidently assure you that they do. The reality is often far less clear, and even where a formal scheme to follow such best practice has been introduced in an organisation, there are likely to be a variety of different approaches being used that result in varying levels of quality within the organisation. This thought raises more questions: do you know how much time, effort and money this testing costs your organisation? Can you estimate just how much risk is carried in terms of late delivery, with poor testing resulting in the release of poor quality software? Can you afford to run the risk of customers refusing to accept such software, or of serious defects being found during live operation with costly consequences? Can you be sure software is being tested thoroughly where required and not being over tested? You may recall from a previous white paper in this series (Ref: 1) that the US National Institute of Standards and Technology (NIST) reported that for every 1Million spent on software implementations, businesses incur more than 210K of additional cost due to problems associated with the impact of post-implementation faults (Ref: 2). Furthermore, in todays highly competitive IT business, there are massive pressures on companies to be as efficient as possible in developing and delivering software solutions. If you dont find strategies to reduce the cost of software development, your competitors will, allowing them to undercut your prices, offer to develop and deliver products faster, and ultimately, to take business from you. Typically, companies put up with this situation because they take a blinkered short-term view of the projects they run; much better to just get on with it and "make progress" than to take a more enlightened, but longer-term view to actually address the problems and fix them. Every project Just what hard evidence is there that such organisations are actually succeeding with implementing test processes? But talk is cheap; how many silver IT bullets have we seen over the years that have turned out to be blanks? And just because large numbers of organisations have adopted, or are in the course of adopting, a test process, this does not necessarily mean that they are realising genuine tangible benefits. Numerous organisations are now implementing repeatable processes as the solution to these problems. In this context, a process (such as a testing process) provides a means of disseminating industry best practice in software quality and testing to all of the staff in your organisation. Processes define who should do what and when, with standard roles and responsibilities for project staff, and guidance on the correct way of completing their tasks. Processes also provide standard re-usable templates for things like test plans, test scripts and testing summary reports, and even address issues of process improvement (if you are interested in delving deeper, a more comprehensive definition of process can be found later in this paper). has things that were done well and things that were done poorly. An organisation should establish a self-improving process where they learn from mistakes and remember what made a success.
white paper
number 3 of a series
Success Story 1 Cap Gemini Ernst & Young achieve 50-75% reduction in test time and deliver zero defect system Business Problem: Cap Gemini Ernst & Young (CGE&Y) recognised the need for a standard test process supported by integrated lifecycle tools and test automation to ensure consistent global delivery of software development services in order to reduce risk and ensure quality. Solution: The adoption of a proprietary software development and test process used in conjunction with an integrated set of software development and testing tools delivered a series of tangible benefits:
Please read more about these and other test process success stories at: www.intellectuk.org/groups/testing.asp
white paper
number 3 of a series
The technical complexity of the changes applied The business criticality of the software The number of users affected
Other aspects of the test process included the use of automated testing tools to ensure that the base build of the Desktop was not affected by the introduction of enhanced/upgraded applications. Furthermore the test process verified that the applications could still co-exist on the target infrastructure. The customer continues to benefit from the successful application of the test process.
Success Story 3 Lloyds TSB Private Banking (LTPB) deliver mission critical private banking software with just three minor problems being observed post launch Business Problem: In the face of growing commercial competition and demand from their customers for internet based private banking, LTPB were keen to investigate strategies for delivering high quality and high reliability web based software as quickly as possible with as little disruption to their business as possible; conservative estimates suggested delivery of poor software could potentially cost LTPB millions of pounds in lost business, possible litigation, as well as the more intangible (but no less damaging) loss of public confidence. Adoption of thorough and effective testing for the new technology solution was identified as being imperative. Solution: A test process was designed that articulated the business-needs that initially were poorly defined. A pragmatic and disciplined approach to identify and eliminate software defects was then implemented. Key support in terms of test automation tools and resource management was incorporated into the process. A risk assessment strategy was also completed at this stage. Adopting test process enabled LTPB to:
white paper
number 3 of a series
white paper
number 3 of a series
white paper
number 3 of a series
with the inevitable risk of missed or lost updates; the challenge of adopting paper based processes is to prevent them ending up on shelves collecting dust rather than being used as a day-to-day reference. Another strategy is to provide access to the process electronically, often by means of your organisations own intranet system. In this approach, the process is held on a central server and delivered to the staff on their own workstations using a browser interface. Updates can be managed centrally with no danger of staff using out of date information. Another powerful feature of such an approach is that electronic copies of standard document templates can be downloaded from a central repository and customised by staff for use on a project-byproject basis.
white paper
number 3 of a series
It is just as important to consider strategies for successful adoption and use of the process, as it is to "get the process right". This section provides useful advice in the form of the most common "dos and donts" of process adoption.
Do ensure good access to the information contained within your process; if you are delivering a paper based process ensure it is easily available to all the relevant staff. Where appropriate, consider delivery of your process using your intranet system to improve access and to simplify maintenance and update.
Do ensure commitment of all key decision makers in your organisation; too often process implementations have started-up with the highest ideals and goals, and then foundered when senior management take their eyes off the ball and are distracted by a new endeavour, or are promoted, retire or move sideways in the organisation.
Dont allow the "not invented here" syndrome to block process adoption; there are likely be other groups or individuals in your organisation who already have an interest in process and who may be unwilling to support a new approach. Such groups or individuals should be identified early during the requirements phase of the development of your process, and their views addressed within the process; approached properly such individuals can become powerful advocates for process. Approached badly or ignored, they can work passively or actively against successful adoption of your process.
Dont try to rollout your test process across the whole of your organisation in one go; identify a suitable testing project and consider piloting your process within that project. Get it right on the pilot first, and then, using the lessons learnt, plan a wider rollout.
Do identify a Process Champion; such an individual, typically with a senior management or technical profile and good enthusiastic communication skills can be invaluable in promoting the cause of test process within your organisation. Such an individual should be able to communicate at all levels within the organisation and should be sufficiently technically aware to be able to make the case and argue for the adoption and use of process.
Do promote success; nothing succeeds like success. Consider setting up a test process special interest group that can organise periodic meetings to discuss process issues and present successes. Newsletters, your company intranet, and your process champion can all be used to promote success, reiterate the benefits of, and encourage adoption and use of your process.
Dont forget to plan for process training; ensure you budget for training and mentoring of staff, and incorporate this training into the
white paper
number 3 of a series
Do implement a process improvement scheme; ensure you collect metrics describing the state of your testing before implementing your test process (otherwise you will have no basis to measure the improvements process will bring). Continue to record metrics in order to understand how continued use of the test process or introduction of new features has impacted your overall testing effectiveness and efficiency.
white paper
number 3 of a series
10
white paper
number 3 of a series
In conclusion
Both this white paper and the previous one in this series (Ref: 1), have made the case for testing as an activity that adds real and quantifiable value to the software development life cycle. As we said in the introduction, ineffective testing can be as damaging as not testing at all, and worse, you will have expended valuable time and money on wasted effort. Test process provides a means to ensure that your testing time and money are spent effectively and efficiently. A test process can encapsulate industry best practice in a form that can be used by all of your staff, giving all members of your organisation the means to perform their testing tasks to the levels achieved by the most effective practitioners in the testing field. At the organisational level, test process provides your company with the means to achieve savings The longest journey, as they say, starts with but a single step; take that step by using the information provided in this white paper to investigate the benefits that test process can bring to your own organisation. This white paper provides an objective view on the benefits that adoption of test process can deliver, as well as the means for you to quantify the value of process in the context of your own company. in time, effort and cost of testing, and improve the quality and reliability of your delivered software. As a consequence, increasing numbers of organisations are adopting test process in order to accelerate delivery of software and to provide themselves with a commercial advantage over their competitors.
References
1 Intellect Testing Group: "Realising the True Value of Testing", Intellect - 2003. Available from the Intellect web site. 2 National Institute of Standards & Technology (NIST), US Dept. of Commerce: The Economic Impacts of Inadequate Infrastructure for Software Testing May 2002 3 IEEE 829-1983 Standard for Software Test Documentation. Software Engineering Standards Committee of the IEEE Computer Society, New York 4 "The Complete Guide to Software Testing Second Edition", Hetzel, B., QED Information Sciences Inc, Massachusetts, 1988. 5 "The Art of Software Testing", Myers, G. J., John Wiley, New York, 1979. 6 "Software Process Engineering Meta Model Specification", the Object Management Group Inc., November 2002. 7 "Testing IT: An Off-the-Shelf Software Test process", Watkins, J., Cambridge University Press, 2000. 8 "Key Practices of the Capability Maturity Model - Version 1.1", Paulk, M. C., et al, Software Engineering Institute - Carnegie Mellon University.
11
white paper
number 3 of a series
A glossary of relevant terms The roles and responsibilities of the testing staff as well as their, reporting and liaison (such as Test Manager, Test Designer, and Tester).
test plan documents test cases test scripts test logs test summary reports
Specific guidance on best practice (such as how to create realistic and representative test data)
The relationships/interfaces to other disciplines (such as the need for access by the Test Manager and Test Designer to the current requirements for the software under test)
Guidance on the use of specific techniques and tools (such as the use of Boundary Analysis in creating test data, or the role and use of automated testing tools).
The tasks that need to be completed and the order in which they are undertaken (such as the need to develop a test plan)
The inputs and outputs to and from tasks (such as the software to be tested, the date it will be available for testing, and the delivery date for the tested software)
Details of the testing phases (such as their names (Unit/Component test, Integration/link/module testing, System testing, etc), the order they take place in, and the staff responsible for conducting them)
12