Effective Software Test Automation: Developing an Automated Software Testing Tool

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。 http://blog.csdn.net/topmvp - topmvp
Did you know that the U.S. loses $59.5 billion per year due to inadequate software testing? With this revolutionary book, that's about to end! Applied Software Test Automation teaches you how to build a fully automated testing tool that you can immediately use for your software development projects. Simply feed the software under test, get the test result, and fix the bugs. You can even use your preferred languages for developing the testing tool. Coverage includes: CodeDom techniques for generating test scripts; using XML and spreadsheets for test data stores; and detail review of Reflection. All source code presented in the book is derived from real-world scenarios.
http://rapidshare.com/files/4480759/NI0782143202.rar
Introduction There are many books about software testing management. When they discuss software test automation, they introduce third-party testing tools. This book describes techniques for developing a fully automated software testing tool. You can use this tool to generate test scripts for continuous unit testing, integration testing, and regression testing. Software defects are common and cause economic losses from time to time. Today, software organizations invest more time and resources in analyzing and testing software as a unit rather than as independent entities. Software engineers have observed that writing testing code is as expensive and time consuming as developing the product itself. To ensure software quality, organizations encourage software developers and testers to achieve objectives such as these: Locating the source of defects faster and more precisely Detecting bugs earlier in the software development life cycle Removing more defects before the product is released Improved testing tools can reduce the cost of software development and increase the quality of software. An automated testing tool must have the following characteristics: Accurate functionality, reliability, interoperability, and compliance An interface that is user friendly and easy to learn and operate Enhanced fault tolerance and automatic error recoverability Efficient algorithm for time and resource management Stable and mature final products that can be maintained and upgraded Easy portability with regard to installation, uninstallation, adaptability, and security I have used many of the commercial software test tools. Their developers declare that they have the capability to conduct various types of software tests and meet the requirements of an organization. But they have limitations. For example, some of them require users to record a series of mouse clicks and keystrokes. Others require users to write test scripts in a specified script language or to generate a test script automatically to test only one function (member) of a software module. Furthermore, the test scripts produced by these tools and methods need to be edited and debugged before they can be executed to perform the desired tests. Automatic generation of the testing data is beyond the reach of these tools, and integration testing involves extensive manual stubbing and guesswork. Software test engineers would like to see a fully automated software test tool on the market, one that is capable of completing testing tasks from generating test scripts and composing the testing cases to presenting the results and fixing the bugs. But the tool vendors are not able to keep up with the complexity and technology advancements in today’s software projects. In addition, software products can include features that incorporate a company’s trade secrets, which the commercial testing tools won’t have the capability of testing. Engineers are often in the position of having to develop their own tools to cover the gaps. This book presents a way to develop and enhance a testing tool development with full automation. When I was trained to use commercial tools, the trainers from the manufacturers presented hundreds of testing features. Software test engineers do appreciate these features, and they are important in improving the quality of software. But the tedious and time-consuming processes of editing and debugging the generated test scripts sometimes prevent a thorough software test. Thus, software products are delivered to end users with costly errors. These costs are shared by virtually all businesses in the United States that depend on software for their development, production, distribution, and after-sales supports and services. To address these current inadequacies, this book will introduce an automated method to minimize the data editing steps, generate a test script to test the entire application, and free you from having to edit and debug the test script manually. The final product simply accepts an application under test and delivers the test results. Who This Book Is For Software engineers have long relied on the tools and infrastructures supplied by the current software testing tool vendors. Some engineers tell successful stories. But more engineers experience frustrations. The automation is not enough, the test is not efficient, and the test script generation and data composition methods need to be improved. One expert’s solution to software test automation is to develop testing tools instead of purchasing commercial tools developed with the current inadequate infrastructure. This book is written for people who are involved in software engineering and want to automate the software testing process for their organizations. With the methods introduced by this book, software engineers should gain a good understanding of the limited automation provided by the available testing tools and how to improve the current test infrastructure and conduct a fully automated software test. This book is for software engineers who want more effective ways to perform software tests. The automated test tool introduced in this book can serve as an independent software test tool as well as an adjunct to the commercial tools. I assume you are a moderately experienced software developer and a test engineer in the process of conducting software test for your organization. The explanations and examples in this book can be easily understood and followed by any intermediate- to advanced-level programmer interested in expanding their knowledge in both software development and software testing. Knowledge of the fundamentals of software testing is essential for software test engineers. Examining a combination of programming and testing issues leads to a solid solution to software test automation. This book’s content includes sound programming techniques with examples in C#. Then it gradually progresses to the development of a fully automated test tool. Although the sample code is in C# using the Microsoft Windows platform, the concept can be used with other languages and platforms. As economists have reported, software failures result in a substantial economic loss to the United States each year. Approximately half of the losses occur within the software manufacturing industry. If you are a senior managerial administrator of a software organization, you are most likely interested in an improved software test method. The other half of the loss comes out of the pockets of the software end users. If your business or institution consists of software end users, you probably maintain teams to support the software purchased from the contract vendors. Being aware of testing methods will assist you with efficient software application in your organization.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值