History and development of software testing

Source: Internet
Author: User

            Software testing is accompanied by the production of software. Early software development process, at that time the software size is very small, low complexity, the software development process is chaotic, quite random, the meaning of the test is relatively narrow, the developer will test the equivalent of "debugging", the purpose is to correct the software has known the failure, often by the developer to complete this part of the work. The input to the test is very little, the test intervention is also late, often wait until the formation of code, the product has been basically completed before testing to the early 80 's, the software and IT industry into a big development, software trends large-scale, high complexity, software quality more and more important. At this time, some of the basic theory of software testing and practical technology began to form, and people began to design a variety of software development processes and management methods, software development is gradually from the chaotic development process into a structured development process, structured analysis and design, structural review, Structured programming and structured testing as a feature. People also integrate the concept of "quality" into which the software test definition has changed, the test is not simply a process of discovering errors, but also as the main function of software Quality assurance (SQA), including the content of software quality evaluation, Bill Hetzel in the full guide to software testing (complete Guide of Software Testing): "Testing is any activity that aims at evaluating a program or System attribute." Testing is a measure of software quality. "This definition is still being quoted today. Software developers and testers began to sit together to discuss software engineering and testing issues. The industry standard (IEEE/ANSI) has been established in the 1983 IEEE software engineering terminology, which defines "the process of using manual or automated means to run or measure a software system, Its purpose is to test whether it satisfies the required requirements or to ascertain the difference between the expected result and the actual result ". This definition clearly states: The purpose of software testing is to verify whether the software system meets the requirements. It is no longer a one-time, but only a late stage of development activities, but with the entire development process into one integrated. Software testing has become a professional, requires the use of specialized methods and means, the need for specialized personnel and experts to bear. Into the 90 's, the software industry began to develop rapidly, the size of the software has become very large, in some large software development process, testing activities need to spend a lot of time and cost, and at that time the means of testing is almost entirely manual testing, testing efficiency is very low, and with the increase in software complexity, There are a lot of situations where you can't complete the test by hand, although in the development of some large-scale software, people try to write some small programs to assist the test, but this still does not meet the unified needs of most software projects。 As a result, many test practitioners are trying to develop commercial testing tools to support testing, to assist testers in the testing of a certain type or field, and the testing tools are becoming more prevalent. It is widely recognized that tools are not only useful, but that tools are essential to testing today's software systems adequately. The test tool can perform part of the test design, implementation, execution, and comparison work. By using the test tools, we can achieve the goal of improving the testing efficiency. The development of testing tools greatly improves the degree of automation of software testing, freeing testers from tedious and repetitive testing activities and concentrating on meaningful test design activities. Using automatic comparison technology, it can also automatically complete the judgment of test case execution result, so as to avoid the omission problem of artificial ratio. Well-designed automated tests, in some cases, "night Test" and "unmanned test". In most cases, software test automation reduces expenses, increases the number of tests that can be performed in a limited time, and saves test time when performing the same amount of testing. and the choice and popularization of testing tools have been paid more and more attention. In the Software Testing tool platform, the commercialization of software testing tools, such as capture/playback tools, Web testing tools, performance testing tools, test management tools, code testing tools, and so on, these are strict copyright restrictions and expensive, but because the price and copyright restrictions are not free to use, of course, Some software test tool developers provide beta versions of some test tools for a limited number of users to use. Fortunately, there are many software testing tools in the open source community that have been widely used and fairly mature and perfected.

History and development of software testing

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.