# What is a test tool? Test tools ###### tags: `ISTQB` `SQA` ## Definition of a test tool :::info A software product that supports one or more test activities, such as planning and control, specification, building initial files and data, test execution and test analysis. ::: Therefore a ==test tool== can be thought of as a piece of software that is used to ==make the testing process more effective or efficient==. **In other words, anything that makes testing easier, quicker, more accurate etc.** ### Benefits and risks of using any type of tool ==Test tools need to be thought of as long-term investments that need maintenance to provide long-term benefits.== The graph in Figure 6.1 demonstrates a typical payback model for implementing a test execution tool. The same principle applies to the majority of test tools. Note that there is an ongoing maintenance cost of using the tool, ==but that this ongoing maintenance cost needs to be less than the cost of performing testing activities without the tool if the investment is to be worthwhile.== ![](https://i.imgur.com/tSoCa3k.png) Other tools can be built by developers in-house as the need arises. ### Benefits The main benefit of using test tools is similar to the main benefit of automating any process. That is, the amount of time and effort spent performing routine, mundane, repetitive tasks is greatly reduced. For example, consider the time and cost of making consumer goods by hand or in a factory. ==This time saved can be used to reduce the costs of testing or it can be used to allow testers to spend more time on the more intellectual tasks of test planning, analysis and design.== **In turn, this can enable more focused and appropriate testing to be done – rather than having many testers working long hours, running hundreds of tests.** Related to this is the fact that **the automation of any process usually results in more predictable and consistent results.** **Similarly, the use of test tools provides more predictable and consistent results as human failings** such as manual-keying errors, misunderstandings, incorrect assumptions, forgetfulness etc., are eliminated ### Risks Most of the risks associated with the use of test tools are concerned with ==over-optimistic expectations of what the tool can do== and ==a lack of appreciation of the effort required to implement and obtain the benefits that the tool can bring.== For example, consider the production environments of most organisations considering using test tools. They are unlikely to have been designed and built with test tools in mind. ==Therefore, unless detailed analysis and evaluation is done, it is likely that test tools will end up as something that seemed a good idea at the time but have been largely a waste of time and money.== **After a test tool has been implemented and measurable benefits are being achieved**, it is important to put in sufficient effort to maintain the tool, the processes surrounding it and the test environment in which it is used. **Otherwise there is a risk that the benefits being obtained will decrease and the tool will become redundant. Additionally, opportunities for improving the way in which the tool is used could also be missed.** ### example 6.2 EXAMPLE – HOTEL CHAIN SCENARIO - Contacting staff in the hotel, who then use a Graphical User Interface (GUI) front-end to make the booking. - Telephoning customer services who then use a GUI front-end to make the booking. - Using the company’s website to make the booking online. - Using a mobile app that can be downloaded from the hotel chain’s website. ![](https://i.imgur.com/6QHDWpR.png) In all cases, communication with the mainframe computer is done via a middleware layer of XML messages. There is a document production system that produces PDF versions of customer correspondence such as booking confirmations, bills, invoices etc. These are stored securely and can be downloaded by customers from the website. **一個舉例,在6個月內發布要包括以下的部分** A new release of the system is planned for six months’ time. This will include: - Code changes to replace the XML middleware layer. Mainframe changes will be performed by an outsourced development team in India. - Various changes to website screens to improve usability. - The introduction of a new third-party calendar object from which dates can be selected. - Removal of the ability for customers to pay by cheque. - An amended customer bill plus two other amended documents. - Two new output documents. - Fixes to various existing low- and medium-severity defects. - Improvements to disaster recovery by using cloud-based methods. - Ongoing enhancements to the mobile app using Agile development methods. These will be deployed to production approximately every three weeks.