Steps for Software Testing Process
Step 1: Asses Development Plan and Status
This first step is a prerequisite to building the VV&T Plan used to evaluate the implemented software solution. During this step, testers challenge the completeness and correctness of the development plan. Based on the extensiveness and completeness of the Project Plan the testers can estimate the amount of resources they will need to test the implemented software solution.
Step 2: Develop the Test Plan
Forming the plan for testing will follow the same pattern as any software planning process. The structure of all plans should be the same, but the content will vary based on the degree of risk the testers perceive as associated with the software being developed.
Step 3: Test Software Requirements
Incomplete, inaccurate, or inconsistent requirements lead to most software failures. The inability to get requirement right during the requirements gathering phase can also increase the cost of implementation significantly. Testers, through verification, must determine that the requirements are accurate, complete, and they do not conflict with another.
Step 4: Test Software Design
This step tests both external and internal design primarily through verification techniques. The testers are concerned that the design will achieve the objectives of the requirements, as well as the design being effective and efficient on the designated hardware.
Step 5: Program (Build) Phase Testing
The method chosen to build the software from the internal design document will determine the type and extensiveness of the testers needed. As the construction becomes more automated, less testing will be required during this phase. However, if software is constructed using the waterfall process, it is subject to error and should be verified. Experience has shown that it is significantly cheaper to identify defects during the construction phase, than through dynamic testing during the test execution step.
Step 6: Execute and Record Result
This involves the testing of code in a dynamic state. The approach, methods, and tools specified in the test plan will be used to validate that the executable code in fact meets the stated software requirements, and the structural specifications of the design.
Step 7: Acceptance Test
Acceptance testing enables users to evaluate the applicability and usability of the software in performing their day-to-day job functions. This tests what the user believes the software should perform, as opposed to what the documented requirements state the software should perform.
Step 8: Report Test Results
Test reporting is a continuous process. It may be both oral and written. It is important that defects and concerns be reported to the appropriate parties as early as possible, so that corrections can be made at the lowest possible cost.
Step 9: The Software Installation
Once the test team has confirmed that the software is ready for production use, the ability to execute that software in a production environment should be tested. This tests the interface to operating software, related software, and operating procedures.
Step 10: Test Software Changes
While this is shown as Step 10, in the context of performing maintenance after the software is implemented, the concept is also applicable to changes throughout the implementation process. Whenever requirements changes, the test plan must change, and the impact of that change on software systems must be tested and evaluate.
Step 11: Evaluate Test Effectiveness
Testing improvement can best be achieved by evaluating the effectiveness of testing at the end of each software test assignment. While this assessment is primarily performed by the testers, it should involve the developers, users of the software, and quality assurance professionals if the function exists in the IT organization.
翻译:
软件测试的11个步骤
第一步:评定开发方案和状态
这第一步是创建W&T计划的先决条件,W&T计划用于评估执行的软件解决方案。在这一步,测试员可质疑开发方案的完整性和正确性。并且基于项目计划的完整和延伸定义,测试员要估计出测试这个执行的软件解决方案所需要的资源数量。
第二步:形成测试计划
形成测试计划应该要符合软件开发过程的模式,所有计划的结构应该是一样的,内容则要基于测试员对开发中的项目的感知程度。
第三步:测试软件的需求说明
不完整的,不正确的,或不一致的要求都会导致软件开发失败。 在需求收集阶段,不正确说明软件需求,会明显的增加开发费用。 测试员通过查证,一定要保证需求说明的是正确的,完整的,并且不会有冲突。
第四步:测试软件的设计
这一步测试员首先要能过查证技术测试软件的外部和内部设计,测试设计是否能完成需求说明的目标和这些设计能否在指定的硬件上起作用。
第五步:软件开发过程中的测试
根据内部设计文档选择的软件开发方法将会决定测试员测试需要的类型和范围。因为软件构建变得更加自动化,所以这一阶段要求相对少的测试,不过,如果软件采用瀑布型的开发模式,容易产生错误,这些错误应该被发现。经验表明,在构建阶段发现问题会比在动态测试过程发现问题节省很多成本
第六步:执行和记录错误
这个阶段包括在动态状态测试代码,在测试计划中指定的步骤,方法,工具会被用于验证可执行代码是否符合规定的软件需求和设计的结构化规范
第七步:可接受性测试
可接受性测试能让使用者在操作他们的日常工作所需功能时评估软件的适用性和可用性。这样能测试出使用者认为软件应该实现什么功能,与需求文档的中说明的软件应该实现什么功能形成对照
第八步:报告测试结果
测试报告是一个持续的过程,可口头表达也可记录下来。 缺陷和涉及的问题要向相应的小组报告,并且报告要易于理解,这一点很重要。这样就能以最低的可能成本修正问题
第十步:测试软件变化
当进行到第十步,是软件被安装使用后的维护过程。相关概念随着整个执行过程而改变,任何时候需求改变了,测试计划也要相应改变,并且这些改变对于整个软件的影响也要测试和评估。
第十一步:评估测试效率
测试改进最好通过在测试任务的最后阶段评估测试效率完成。这个评估首先应该由测试员完成,同时也要包括开发人员,软件使用者和专业质量担保人(如果有这些人员的话)。