1.测试的定义
为了发现错误而执行程序的过程
软件测试时根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例(输入数据和预期的输出结果),并利用这些测试用例去运行程序,以发信程序错误的过程
2.软件测试的对象
1.软件测试不等于程序测试,软件测试贯穿于软件定义和开发的整个期间。需求分析,概要设计,详细设计,以及程序编码等个个阶段所得到的文档等,需求规格说明书,概要设计说明书,详细设计规格说明以及源程序
测试种类
1.黑盒测试
2.白盒测试
3.单元测试
4.集成测试
5功能测试
6.系统测试
7.回归测试
8.验收测试
9.负载测试
压力测试
性能测试
易用性测试
安装与反安装测试
安全性测试
兼容性测试
Alpha测试
Beta测试
α测试
是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。α测试的目的是评价软件产品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持)。尤其注重产品的界面和特色。α测试可以从软件产品编码结束之时开始,或在模块(子系统)测试完成之后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。α测试是指软件开发公司组织内部人员模拟各类用户行对即将面市软件产品(称为α版本)进行测试,试图发现错误并修正。α测试的关键在于尽可能逼真地模拟实际运行环境和用户对软件产品的操作并尽最大努力涵盖所有可能的用户操作方式。经过α测试调整的软件产品称为β版本。
Beta测试
是一种验收测试。所谓验收测试是软件产品完成了功能测试和系统测试之后,在产品发布之前所进行的软件测试活动,它是技术测试的最后一个阶段,通过了验收测试,产品就会进入发布阶段。验收测试一般根据产品规格说明书严格检查产品,逐行逐字地对照说明书上对软件产品所做出的各方面要求,确保所开发的软件产品符合用户的各项要求。Beta测试由软件的最终用户们在一个或多个客房场所进行。与Alpha测试不同,开发者通常不在Beta测试的现场,因Beta测试是软件在开发者不能控制的环境中的“真实”应用。用户Beta测试过程中遇到的一切问题(真实在或想像的),并且定期把这些问题报告给开发者。接收到在Beta测试期间报告的问题之后,开发者对软件产品进行必要的修改,并准备向全体客户发布最终的软件产品
1.制定测试计划。
2.设计测试用例
如果满足输入准则,执行测试
撰写测试报告
下厨软件缺陷,如满足输出准则正常结束测试
在W模型的框架下,运用H模型的思想进行独立的测试。当有变更发生时,按X模型和前置模型的思想进行处
白盒测试概念
1.把被测试程序当成白盒子,要了解程序内部的结构,来进行用例设计
2.主要对程序模块进行如下检查
对程序模块的所有独立的执行路径至少测试一次
对所有的逻辑判定,取真,假的两种情况都至少测试一次;
在循环的边界和运行界限内执行循环体;
测试内部数据结构的有效性,等
黑盒测试概念
把被测试当成黑盒子,不需要了解内部的详细结构,来进行用例设计
黑盒测试常用边界值,等价类,判定表,因果图,错误推测,场景法等等
白盒测试用例设计
分析步骤
画出流程图
计算圈复杂度 =判定节点数+1
写出独立路径:
根据独立路径设计测试用例:输入,期望输出,实际输出,覆盖路径
黑盒测试
用例名称: 目的 前置条件,步骤,输入输出