在规定的条件下对程序进行操作,以发现错误,对软件质量进行评估。
2、软件是由文档、数据和程序组成。
3、软件质量包括
“内部质量”,“外部质量”和“使用质量“三部分。软件满足规定或潜在用户需求的能力要从内部、外部和使用中的表现来衡量。
4、软件测试与质量保证的区别?
软件测试是对过程的产物以及开发出的软件进行剖析,质量保证是着眼于软件开发活动中的过程、步骤和产物,不是对软件进行剖析找出问题和评估
2009-2-8
5、软件测试的原则:
所有的软件测试都应追溯到用户需求;
应该把“最早地和不断进行软件测试”作为软件测试者的座右铭;
完全测试是不可能的,测试需要终止;
测试无法显示软件潜在缺陷;
充分注意测试中的群集现象;
程序员应该避免检查自己的程序;
尽量避免测试的随意性;
6、按照开发阶段分软件测试:
单元测试:单元测试又称模块测试,是针对软件设计的最小单位——程序模块进行正确性的检验的测试工作。
集成测试:集成测试也叫组装测试。通常在单元测试的基础上将所有的程序模块进行有序、递增的测试。是检验程序单元或部件的接口关系,逐步集成为符合概要设计要求的程序部件或整个系统。
系统测试:系统测试是在真实或模拟系统运行的环境下,检查完整的程序系统能否和系统(软硬件及网络等)正确配置、连接,并满足用户需求。
确认测试:确认测试是通过检测和提供客观证据,证实软件是否满足特定预期用途的需求,使检测与证实软件是否满足软件需求规格说明书中规定的要求。
验收测试:按照项目任务书或合同、供需双方约定的验收依据文档进行的对整个系统的测试与评审,决定是否接收或拒收系统。
7、按照测试实施组织划分软件测试:
开发方测试:
用户测试(Beta测试):用户测试不是指验收测试,而是指在用户的环境下,用户的使用性测试。
第三方测试:独立测试。
白盒测试:
黑盒测试:
灰盒测试:
9、测试过程序需要三类输入:
软件配置:包括软件需求规格说明书,软件设计规格说明,源代码等。
测试配置:包括测试计划,测试用例,测试驱动程序等。
测试工具:
10、测试信息流:
软件配置、 测试结果
测试配置、 测试 测试结果分析 排错
测试工具 预期结果 根据出错率可靠性分析
11、编写良好的需求说明书8条原则
1.功能与实现分离;
2.要求使用面向处理的规格说明语言,讨论来自环境的各种刺激可能导致系统作出什么样的反应;
3.如果目标软件只是一个大系统中的一个元素,那个整个大系统也包括在规格说明的描述之中。描述该目标软件与系统的其他元素之间的交互方式;
4.规格说明必须包括系统的运行环境;
5.系统规格说明必须是一个认识的模型,而不是设计或实现的模型;
6.规格说明必须是可操作的;
7.规格说明必须允许不完备性并允许扩充;
8.规格说明必须局部化和松散的耦合;(它所包括的信息必须局部化,这样当信息被修改时,只要修改某个单位的段落。被松散的构造能够很容易地加入和删除一些段落。)
2009-2-9
12、单元测试需要在五个方面对所测模块进行检查。
1.模块接口:在单元测试开始,应对通过所测模块的数据流进行测试。如果数据不能够正确地输入输出则无法测试。
对模块接口可能需要如下测试项目:调用所测模块时的输入参数与模块的形式参数在个数、属性、顺序上是否匹配;所测模块在调用子模块时,它输入给子模块的参数与子模块中的形式参数在个数、属性、顺序上是否匹配;是否修改了只做输入用的形式参数;输出给标准函数的参数在个数、属性、顺序上是否匹配;全局量的定义在各模块中是否一致;限制是否通过形式参数来传递。
当模块通过外部设备进行输入/输出操作时,必须附加如下测试项目:文件属性是否正确;OPEN语句与CLOSE语句是否正确;规定的I/O格式说明是否与I/O语句匹配;缓冲区容量与记录长度是否匹配;在进行读写操作之前是否打开了文件;在结束文件操作后是否关闭了文件;正文书写/输入错误,以及I/O错误是否检查并作了处理。
2.局部数据结构测试:不正确或不一致的数据类型说明;使用尚未赋值或尚未初始化的变量;错误的初始值或错误的缺省值;变量名拼写错误;不一致类型;
3.路径测试:不可能做到穷举测试,选择重要的执行路径进行测试。应当设计测试用例查找由于错误地计算,不正确的或不正常的控制流而导致的错误。对基本执行路径和循环进行测试,可以发现大量路径错误。
4.错误处理测试:模块错误处理功能含有缺陷例如:出错的描述难以理解,不足以对错误定位,不足以确定出错的原因;显示的错误信息与实际不符;对错误处理条件的处理不正确;在对错误处理之前,错误处理条件已经引起系统的干预。
5.边界测试:
13、驱动模块和桩模块
驱动模块:相当于测试模块的主程序。她接收测试数据,把这些数据传送给所测模块,最后再输出实测结果。
桩模块:也叫存根模块。用来代替所测模块的子模块。不需要把子模块的所有功能都带进来,但不能什么也不做。
14、多功能模块的测试
如果模块要完成多种功能,且以程序包的形式出现也不少,可以把模块看成由几个小程序组成。先对小程序进行测试。
15、集成测试组装时要考虑的问题?
也叫组装测试或联合测试;