软件测试概述
为什么要测试?
最主要有两个目的:
一是对质量或可接受性做出评判。
二是发现存在的问题。
1、基本概念
测试有两个明确的目标: 找出失效(上述一) 和 证实软件执行的正确性(上述二)(正确性是相对的,而不是绝对的)。
测试用例在测试中占 核心地位。
2、测试用例
软件测试的精髓是为被测对象找到一组测试用例。
一个完整的测试用例包括 测试用例标识符、简短的目的描述、前置条件描述、
实际的测试用例输入、期望输出、期望的后置条件描述和执行记录。
3、维恩图与软件测试
程序行为空间
期望行为(规格说明规定的行为)
实现行为(编程实现的行为)
测试行为(被测试到的行为)
三者可以用维恩图来表示。
测试人员应该尽可能扩大三个行为集合的交集!!
4、构造测试用例
基于规格说明的测试(功能测试)。
测试用例为期望行为集合的子集。
基于代码的测试(结构测试)
测试用例为实现行为集合的子集。
方法对比??
呵呵,肯定是各有利弊咯,两者结合是上选。
5、故障分类
根据分类标准不同,分类自然不同。
开发阶段、失效后果、解决难度、不处理的风险、失效频率。
审查项目清单 也是一个方法。(我暂时也不知这是啥,不过大概就是字面意思吧)
6、测试层次
设计与测试在层次上的对应关系。
V模型:
需求规格说明-------系统测试 (更适合 基于规格)
概要设计 ----------集成测试
详细设计 ----------单元测试 (更适合 基于代码)
中间则是编码过程。