1.Purpose of Testing
No matter how capably we write programs,it is clear front the variety of possible errors that we should check to insure that our modules are coded correctly.Many programmers view testing as a demonstration that their programs perform properly.However,the idea of demonstrating correctness is really the reverse of what testing is all about.We test a program in order to demonstrate the existence of an error.Because our goal is to discover errors,we can consider a test successful only when an error is discovered.Once an error is found,“debugging”or error correction is the process of determining what causes the error and of making changes to the system so that the error no longer exists.
1、测试的目的
无论我们多能编写程序,面临各种不同的可能的错误,我们应该进行检测以确保我们的模型是编写正确的,这一点很清楚。许多编程人员认为测试是对他们的程序表现正确的证实。然而这种对测试用于证实正确性的观点其实与测试的目的恰恰相反。我们测试一个程序是为了证实存在错误。因为我们的目标就是发现错误。我们可以认为只有错误被发现时,检测才是成功的。一旦错误被发现,bug消除或者错误纠正这一过程见证了错误产生的原因,并可以修改程序让错误不在存在。
2.Stages of Testing
测试的步骤
In the development of a large system,testing involves several stages.First,each program
module is tested as a single program,usually isolated from the other programs in the system.Such testing,known as module testing or unit-testing,verifies that the module functions properly with the types of input expected from studying the module design.Unit testing is done in a controlled environment whenever possible so that the test team can feed a predetermined set of data to the module being tested and observe what output data are produced[1].In addition,the test team checks the internal data structures,the logic,and the boundary conditions for the input and output data.
在研发一个大型系统中,测试包括几个步骤。首先,每个程序模型应该作为一个单独的程序进行测试,通常把它与其他程序独立开来。这种检测叫做模型测试或单位测试,依据研究该模型的设计目的,输入预期数据,来检测该模型是否功能正常。单元测试是在一个可控环境下操作,操作时间是任意可能的时间。这样测试团队就可以通过添入预先设计成套数据给该模型,观察它的产生的流出数据。此外测试团队还对导入导出数据检测内部数据结构,逻辑性,边界设置情况
When collections of modules have been unit-tested,the next step is to insure that the interfaces among the modules are defined and handled properly.Integration testing is the process of verifying that the components of a system work together as described in the program design and system design specifications.
当所有被单元测试过的模型收集完毕后,下一步就是确保模型之间的接口是否正确定义和处理。完整性测试就是这个过程,用于检测程序里每一个组成部分一起工作时是否能象该程序设计和程序设计规范那样。
Once we are sure that information is passed among modules according to the design prescriptions,we test the system to assure that it has the desired functionality.A function test evaluates the system to determine if the functions described by the requirements specification are actually performed by the integrated system [2].The result,then,is a functioning system.
一旦我们确认信息的在模型间的通行是依照设计要求,我们再测试该程序以确保它拥有预期的功能性。功能测试是对程序进行评价确定程序的功能在完整性测试过程中确实按照设计规格正确运行。结果达成,那么该程序就是有个有效程序。
Recall that the requirements were specified in two ways:first in the customer’s terminology and again as a set of software and hardware requirements.The function test compares the system being built with the functions described in the software and hardware requirements.Then,a performance test compares the system with the remainder of the software and hardware requirements.If the test is performed in the customer’s actual working environment,a successful test yields a validated system.However,if the test must be performed in a simulated environment,the resulting system is a verified system.
回顾需求具体可细分为二个办法:第一,用客户的术语,或者再次如一套软、硬件需求。功能测试对比设计好的程序是否拥有软硬件要求所描述的功能。第二,一个运行测试用于对比该程序和软硬件要求的剩下部分。如果测试在客户实际工作环境下进行,成功的测试意味着有效的程序。无论如何,如果测试是在一个模拟环境下进行,经过测试的系统是一个已经经过证实的有效系统。
问题补充:When the performance test is complete,we as developers are certain that the system functions according to our understanding of the system description.The next step is to confer with the customer to make certain that the system works according to the customer’s expectations.We join with the customer to perform an acceptance test in which the system is checked against the customer’ s requirements description.When the acceptance test is complete,the accepted system is installed in the environment in which it will be used;a final installation test is performed to make sure that the system still functions as it should.
当运行测试完成,我们作为研发这确信系统功能已经按照了我们理解的程序描述。下一个步骤就是与客户商讨确认该程序能够按照客户的预期工作。我们将与客户一同执行验收测试,在这个过程中,该程序还要被再次测试是否满足客户需求描述。当验收测试完成后,该验收后的系统就要安装到它即将工作的环境中去。最后还要进行安装测试以确保该系统安装后仍保持其应有功能。
Fig. 8-2 illustrates the several stages of testing.Although systems may differ in size,the type of testing described in each stage is necessary for assuring the proper performance of any system being developed.
FIG8-2解释了测试的几个步骤。尽管系统可能在规模上有大小之分,但每个步骤所描述的测试类型对确保任何研发的系统能够正常运作来说,都是必要的。
手工翻译的,很辛苦哦,满意请加分。