软件测试
1.                Objective目的
The objective of this document is to describe software testing for use with any software development project.  The purpose is to provide a baseline for software testing activities.  A standardized testing process is required because it improves the effectiveness and efficiency of testing for the project.  It does so in several ways.
本文档的目的是描述任何软件开发项目中的软件测试活动,目的是提供一个标准的测试活动基准。 标准化的测试流程是被需要的,因为它可以提高项目测试的效率和有效性。
Defines the testing process
Makes the testing process repeatable
Ensures high-risk components of the system are tested
Lessens the effects of individual differences (tester background and skill set) on testing
Adds “intelligence” to testing
Provides metrics for managing and controlling testing
Provides metrics for assessing and improving testing
Provides a basis for test automation
Produces specific testing deliverable
定义测试过程
确保测试过程可重复
确保系统中高风险的组件得到测试
缩小测试中由于测试人员的背景和技能的不同产生的影响
增加“intelligence”去测试
为管理和控制测试提供度量
为评估和改进测试提供度量
提供自动化测试的基础
产出具体的测试交付物
 
 
2.                What is Software Testing?什么是软件测试?
The goal of the testing activity is to find as many errors as possible before the user of the software finds them. We can use testing to determine whether a program component meets its requirements.
测试活动的目标是在软件的真正用户使用前尽可能的发现更多的错误,我们使用测试去确定一个程序组件是否满足它的需求。
To accomplish its primary goal (finding errors) or any of its secondary purposes (meeting requirements), software testing must be applied in a systematic fashion.
为了实现它的主要目标(发现错误)或者第二目标(满足需求), 软件测试必须应用在一个系统方式中。
Testing involves operation of a system or application under controlled conditions and evaluating the results.
测试包括了一个系统的操作或者受控条件下的应用和结果评价。
Verification and Validation验证和确认
Verification and Validation (V&V) is a Software Testing activity to enhance quality of the software being built. It is planned and conducted systematically through out the software lifecycle.
验证和确认(V &V)是一种软件测试活动去增强被构建的软件质量,V&V被计划并系统化的执行于整个软件生命周期。
Verification is the checking or testing of items, including software, for conformance and consistency with an associated specification. Software testing is just one kind of verification, which also uses techniques such as reviews, analysis, inspections and walkthroughs.
验证(Verification)是对一些内容的检查和测试,它包括对于软件规格符合性和一致性的检查,软件测试仅仅是验证的一种,还用到了一些其他的技术比如评审,分析,检查,走查(reviews, analysis, inspections and walkthroughs)。
 
Validation is the process of checking that what has been specified is what the user actually wanted. Validation activity may begin when most or all software functions as per customer expectations.
 
确认(Validation)是针对那些被用户指定的,满足他们实际期望的需求的检查过程。确认
活动可以开始于多数或者所有软件功能按照客户期望完成时。
Validation testing provides final accurance that the software meets all functional, behavioral and performance requirements. Usually Black-box testing is used for this activity.
确认测试提供最终的保证,确保软件满足所有功能,运行情况和性能需求。通常黑盒测试被用于该活动。
    Verification:  Are we building the project right? 我们正确的构建了这个项目吗?
    Validation:  Are we building the right product? 我们构建了正确的产品吗?
 
 
Debugging Vs Testing 调试 Vs 测试
The term bug is often used to refer to a problem or fault in a computer. There are software bugs and hardware bugs.
Bug”这个术语通常用于计算机的一个问题或者错误,包括软件和硬件的Bug
Software testing should not be confused with debugging. Debugging is the process of analyzing and locating bugs when software does not behave as expected. Although the identification of some bugs will be obvious from playing with the software, a methodical approach to software testing is a much more thorough means of identifying bugs. Debugging is therefore an activity, which supports testing, but cannot replace testing. However, no amount of testing can be guaranteed to discover all bugs.
软件测试不应该与调试混淆。调试是指当软件没有像预期的运行时,进行分析并且出Bugdocumented翻译的过程。 虽然运行软件可以很明显的确认一些Bug,但是有系统地进行软件测试是一种更彻底地来发现 Bug的方法。 因此调试是一种支持测试的活动,但是不能替代测试。同时,不能保证有多少的测试可以发现所有Bug
 
Common Problems  常见问题
        Poor requirements – if requirements are unclear, incomplete, too general, or not testable, there will be problems
        需求不足-如果需求是不明确的、不完整的、太概括、或者不可测,那就会有问题
        Unrealistic schedule – if too much work is crammed in too little time, problems are inevitable
        不切实际的进度安排-如果有限时间里有太多工作,不可避免地就会有问题
        Inadequate testing – no one will know whether or not the program is any good until the customer complains or systems crash
        测试不足-在用户抱怨或者系统崩溃之前, 没有人知道程序好不好。
        Requirements change – requests to pile on new features after development is underway are common
        需求变更-开发后还有新功能需求提出,这也很普遍
        Miscommunication – if developers don’t know what is needed or customers have erroneous expectations, problems are guaranteed

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。