测试理论01-开发模型-软件测试分类-测试用例设计方法
掌握划分等价类s法的基本定义与使用步骤
软件开发过程模型
-
概念:软件生产的步骤,流程的描述
-
常用模型:瀑布模型,快速原型,螺旋模型
瀑布模型
图示:需求分析,概要设计,详细设计,编码,软件测试,软件维护
特点:
-
-
每个阶段执行一次,文档驱动
优点:
-
阶段清晰
-
每个阶段完成后,关注后续阶段
缺点:
-
依赖于需求分析的结果,不适应需求的变化
-
风险后延,失去更早发现问题的机会
快速原型模型
图示:快速分析,构造,运行,评价
特点:
-
快速得构造原型
-
支持用户得参与
-
适应需求变化
优点:
-
克服瀑布模型得缺点,减少因为需求变化带来软件开发风险
缺点:
-
不适应于大型项目开发(小型项目,灵活性高)
螺旋模型
特点:
-
引入了风险分析的过程
-
结合了瀑布模型的严谨过程和快速原型模型的原型概念
优点:
-
风险驱动,及时识别风险,规避风险
缺点:
-
需要丰富的风险识别的经验和相关的专业知识
测试模型
测试模型-V模型
图示:需求分析,概要设计,详细设计,编码,单元测试,集成测试,系统测试,验收测试
优点:
-
包含了底层测试和高层测试
缺点:
-
灵活性不高,不能适应需求变化
测试模型-W模型
图示:开发一个V:需求分析,概要设计,详细设计,编码,集成,实施,交付
测试一个V:验收/系统测试设计,集成测试设计,单元测试设计,单元测试,集成测试,系统测试,验收测试
优点:
-
测试伴随整个开发周期
-
测试更早得介入,及时发现软件的问题
缺点:
-
对测试人员的技术要求比较高,实施起来复杂,困难一些
测试模型-H模型(了解)
图示:两个流程:测试流程,平行流程。测试流程:测试准备,测试就绪点,测试执行
优点:
-
揭示了测试工作实际情况,存在并行流程
-
强调了测试的独立性,灵活性高
缺点:
-
管理要求比较高
-
技能要求比较高
软件测试分类
按阶段划分:
-
单元测试
-
集成测试
-
系统测试
-
验收测试
-
alpha测试:内测版本
-
beta测试:公测版本
-
gamma测试:候选版本
-
按照覆盖源代码(关注代码)划分:
-
黑盒测试:不关注代码,只关注需求的实现
-
白盒测试:关注源代码的实现细节
-
灰盒测试:既关注代码的实现,又关注需求的满足。
只做黑盒测试:
-
代码质量没有保障(实现逻辑,代码规范)
-
测试不出开发人员故意埋的恶意代码
只做白盒测试:
-
容易忽略用户真正需求的实现
-
测试人员容易被代码逻辑带跑偏
黑盒测试两个大的分类:
-
功能测试
-
业务逻辑功能
-
界面测试
-
安装
-
-
性能测试
-
时间性能
-
稳定性
-
负载
-
压力
-
按照是否运行划分:
-
静态测试:代码不运行
-
动态测试:代码运行起来
按照是否自动化划分:
-
人工测试(手工)
-
自动化测试:通过工具或者代码代替手工
其他的测试分类:
-
冒烟测试
-
回归测试
-
随机测试
-
探索测试
测试用例的定义
定义:为特定目的设计的一组测试输入,执行条件,预期结果的文档
测试用例的八大要素
-
用例编号
-
用例标题
-
测试项目
-
用例的级别
-
预置条件
-
测试输入
-
执行步骤
-
预期结果
测试用例设计-等价类划分法
等价类:测试所有数据中,具有某种共同特征的数据子集
等价类划分法:所有的测试数据进行等价类划分,在等价类中挑选少量代表性的数据进行测试。
有效等价类:满足需求的
无效等价类:不满足需求的
编写测试用例的步骤:
-
明确需求
-
确定有效和无效等价类
-
编写测试用例
-