测试分类和测试用例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一:软件测试分类
软件测试是一项复杂的系统工程,从不同的角度考虑可以有不同的划分方法,对测试进行分类是为了更好的明确测试的过程,了解测试究竟要完成哪些工作,尽量做到全面测试。
1:按是否需要执行被测软件的角度
静态测试:不利用计算机运行待测程序而应用其他手段实现测试目的,如代码审核、无效的死循环、多余的变量等。可借用第三方测试工具,如:PC-lint:支持几乎所有流行的编辑环境和编译器,比如Borland C++从1.x到5.x各个版本、Borland C++ Build、GCC、VC,、watcom C/C++、Source insight、intel C/C++等等,也支持16/32/64的平台环境。动态测试:通过运行被测试软件来达到目的。
2:按阶段划分
单元测试:对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。
集成测试:在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。
系统测试:对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务。软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。
验收测试:在向软件的购买者展示该软件系统满足其用户的需求。
回归测试:在软件维护阶段,对软件进行修改之后进行的测试。
Alpha 测试:在系统开发接近完成时对应用系统的测试;
Beta 测试:当开发和测试根本完成时所做的测试,而最终的错误和问题需要在最终发行前找到。一般由最终用户或其他人员员完成。
3.按测试方法划分
白盒测试:也称结构测试或逻辑驱动测试,是指基于一个应用代码的内部逻辑知识,即基于覆盖全部代码、分支、路径、条件的测试。白盒测试的主要方法有逻辑驱动、基路测试等。白盒测试可以借助一些工具来完成如Junit Framework,Jtest等。
黑盒测试:指不基于内部设计和代码的任何知识,而基于需求和功能性的测试,黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。黑盒测试也可以借助一些工具,如WinRunner,QuickTestPro,Rational Robot 等。
灰盒测试:介于白盒与黑盒之间,关注输出对于输入的正确性,同时也关注内部表现。结合了白盒测试和黑盒测试的要素.它考虑了用户端、特定的系统知识和操作环境。
ALAC(Act-like-a-customer)测试:一种基于客户使用产品的知识开发出来的测试方法。ALAC 测试是基于复杂的软件产品有许多错误的原则。最大的受益者是用户,缺陷查找和改正将针对哪些客户最容易遇到的错误。
4.按执行过程的划分
手动测试:由测试人员执行用例的过程,也是大部分公司的测试现状。
自动化测试:把以人为驱动的测试行为转化为机器执行的一种过程。可分为工具自动化和代码自动化。适用于需求不经常变动、项目期足够长、预算足够、自动化代码复用率高等特点的项目。
5.其他常见的测试方法有:功能测试、性能测试、压力测试、负载测试、易用性测试、安装
测试、界面测试、文档测试、兼容性测试、安全性测试等
二.测试用例设计
等价类划分:
边界值分析
定义:是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值的分析法是作为对等价类划分法的补充
经验:大量的错误是发生在输入或者输入范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。
举例:
对于要求输入范围是1-100分的成绩测试的边界值就是:-1、0、1和99、100、101
因果图方法
定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况
举例:
有一个处理单价为5毛钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5毛钱或者1元钱的硬币,按下【橙汁】或者【啤酒】的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示【零钱找完】的红灯提醒亮起,这时在投入1元硬币并按下【橙汁】或者【啤
酒】的按钮后,饮料不送出来且1元的硬币退出来;若有零钱找,则显示【零钱找完】的红灯提醒灭掉,在送出相应饮料的同时,再找5毛钱。
原因和结果:
原因:1.售货机有零钱找?
2.投入1元硬币
3.投入5毛硬币
4.按下橙汁按钮
5.按下啤酒按钮
结果:1.售货机【零钱找完】等亮?
2.退还1元硬币
3.退还5毛硬币
4.送出橙汁
5.送出啤酒
状态图(功能图)方法
定义:是功能图FD形式化地表示程序的功能说明,并机械地声称功能图的测试用例
举例:
通过对QQ登录界面的分析,我们可以把功能看成4个输入项:
生成状态图
决策表(判定表驱动法):
错误推断法:
三.测试用例设计策略