瀑布模型的特点
(文档是主体)
,很多的问题在最后才会暴露出来。迭代模型比
瀑布模型问题暴露的要早;快速原型法比瀑布模型直观。
3.
软件测试概念
广义概念:指软件生存周期中所有的检查、评审和确认工作,其中包括了对分
析、设计阶段,以及完成开发后维护阶段的各类文档、代码的审查和
确认
狭义概念:识别软件缺陷的过程,即实际结果与预期结果的不一致
4.
软件测试目的
?
测试的目的就是发现软件中的各种缺陷
?
测试只能证明软件存在缺陷,不能证明软件不存在缺陷
?
测试可以使软件中缺陷降低到一定程度,而不是彻底消灭
?
以较少的用例、时间和人力找出软件中的各种错误和缺陷,以确保软件
的质量
5
.软件测试原则
?
Good-enough:
一种权衡投入
/
产出比的原则
?
保证测试的覆盖程度,但穷举测试是不可能的
?
所有的测试都应追溯到用户需求
?
越早测试越好,测试过程与开发过程应是相结合的
?
测试的规模由小而大,从单元测试到系统测试
?
为了尽可能地发现错误,应该由独立的第三方来测试
?
不能为了便于测试擅自修改程序
?
既应该测试软件该做什么也应该测试软件不该做什么
6
.软件测试的的重点
?
测试用例的设计
–
测试用例的设计是整个软件测试工作的核心
–
测试用例反映对被测对象的质量要求,决定对测试对象的质量评
估
?
测试工作的管理
–
尤其是对包含多个子系统的大型软件系统,其测试工作涉及大量
人力和物力,有效的测试工作管理是保证有效测试工作的必要前
提
?
测试环境的建立
–
测试环境应该与实际测试环境一致
7
.黑盒测试
?
什么是黑盒测试
–
又称功能测试或数据驱动测试,是针对软件的功能需求
/
实现进行
测试,通过测试来检测每个功能是否符合需求,不考虑程序内部
的逻辑结构
?
黑盒测试方法
–
功能划分
–
等价类划分
–
边界值分析
–
因果图
–
错误推测等
8
.什么是白盒测试
–
白盒测试也称结构测试或逻辑驱动测试,必须知道软件内部工作
过程,通过测试来检测软件内部是否按照需求、设计正常运行
–
白盒测试的主要方法
–
对应于程序的一些主要结构:语句、分支、逻辑路径、变量;白
盒测试的主要方法是:
–
语句覆盖方法
–
分支覆盖方法
–
逻辑覆盖方法
9.
什么是动态测试
动态测试需要在开发
/
测试环境或实际运行环境中运行软件,并使用测试用
例去查找软件缺陷;动态测试包括功能确认与接口测试、覆盖率分析、性
能分析、内存分析等
10.
什么是静态测试
静态测试不实际运行软件,主要是对软件的编程格式、结构等方面进行评估
.
静态测试包括代码检查、程序结构分析、代码质量度量等。它可以由人工进
行,也可以借助软件工具自动进行
11.
手工测试和自动测试
a.
手工测试缺点在于测试工作量大,重复多,回归测试难以实现
b.
自动测试利用软件测试工具自动实现全部或部分测试工作:管理、设计、
执行和报告;节省大量的测试开销,并能够完成一些手工测试无法实现的测
试
?
手工完成测试的全部过程无法保证测试的科学性与严密性
:
–
修改的缺陷越多,回归测试越困难