什么是软件测试
测试是使用人工和自动手段来运行或检测某个系统的过程,其目的在于检验系统是否满足规定的需求或弄清预期结果与实际结果之间的差别
该定义明确提出了软件测试以“检验是否满足需求”为目标。
– 测试是为了发现错误而执行程序的过程
– 测试是为了证明“程序有错”,而无法证明“程序正确”
– 一个好的测试用例在于能够发现至今未发现的错误
– 一个成功的测试是发现了至今未发现的错误的测试
软件测试策略
测试策略:描述将要进行的测试步骤
– 测试计划
– 测试用例设计
– 测试执行
– 测试结果的收集与评估
测试计划(Test Plan)
- 测试计划是测试工作的指导性文档,规定测试活动的范围、方法、资源和进度;明确正在测试的项目、要测试的特性、要执行的测试任务、每个任务的负责人,以及与计划相关的风险。
- 主要内容:测试目标、测试方法、测试范围、测试资源、测试环境和工具、测试进度表
测试用例(Test Case)
- 测试用例是数据输入和期望结果组成的对,其中“输入”是对被测软件接收外界数据的描述,“期望结果”是对于相应输入软件应该出现的输出结果的描述,测试用例还应明确指出使用具体测试案例产生的测试程序的任何限制。
- 测试用例可以被组织成一个测试系列,即为实现某个特定的测试目的而设计的一组测试用例。例如,一部分测试用例用来测试系统的兼容性,另一部分是用来测试系统在特定的环境中,系统的典型应用是否能够很好地运作
测试结果评估(Test Case)
- 缺陷报告是编写在需要调查研究的测试过程期间发生的任何事件,简而言之,就是记录软件缺陷。
- 主要内容:缺陷编号、题目、状态、提出、解决、所属项目、测试环境、缺限报告步骤、期待结果、附件
- 在报告缺陷时,一般要讲明缺陷的严重性和优先级。
• 严重性表示软件的恶劣程度,反映其对产品和用户的影响。
• 优先级表示修复缺陷的重要程度和应该何时修复
软件测试步骤
单元测试 Unit Testing
集成测试 Integration Testing
确认测试 Validation Testing
系统测试 System Testing