1.测试用例:向被测试的对象提供的一组集合,集合中包含:测试环境、操作步骤、测试数据、预期结果等
2.开发模型:
软件生命周期:需求、计划、设计、编码、测试、运行维护(共6个阶段)
瀑布模型:需求->计划->设计->编码->测试
优点:强调开发的阶段性
强调早期计划及需求调查
强调产品测试
缺点:风险往往迟至后期的测试阶段才显露,失去及早纠正的机会
依赖于早期的唯一一次需求调查,不能适应需求的变化
单一流程,开发中的经验教训不能反馈应用于本产品的过程
适合项目:需求比较稳定的项目
螺旋模型:渐进式开发模型的代表之一
优点:强调严格的全过程风险管理
强调开发阶段的质量
提供机会检讨项目是否有价值继续下去
缺点:引入严格的风险意识、风险分析和风险控制,这对风险管理的技术水平提出很高的要求,
需要投入人员、资金和时间的投入
适合项目:规模庞大、复杂度高、风险大的项目
增量模型:逐块建造
迭代模型:反复求精
*** 敏捷模型:
敏捷宣言:1)个体与交互重于过程和工具(人与人之间的沟通)
2)可用的软件重于完备的文档(轻文档)
3)客户协作重于合同谈判(客户全程参与)
4)响应变化重于遵循计划(拥抱变化,有时间要求)
敏捷开发常用方式:scrum
scrum由product owner(产品负责人)、scrum master(敏捷教练)和team(团队)组成。
特点:迭代开发:将产品的开发分解为若干个小sprint(迭代),周期1-4周不等。参与团队成员5-9人。
基本流程:1)产品负责人整理user story。 2)发布计划会议。3)迭代计划会议。4)每日例会。5)演示会议。6)回顾会议
敏捷中的测试:挑战1:轻文档。挑战2:快速迭代
3.软件测试v模型:
用户需求:阶段了解需求的目的,大概的功能
需求分析与系统:指定测试计划
编码:进行测试用例的编写
单元测试和集成测试一般由研发人员或白盒测试工程师来执行
白盒测试:用代码去测试研发人员的代码
黑盒测试:手动测试
单元测试:白盒测试
集成测试:白盒和黑盒测试
系统测试:数据准备,环境搭建,测试执行,缺陷管理,测试报告的输出
验收测试:客户测试,策划人员对客户进行培训
缺点:发现问题比较晚,修改成本大,给人一种测试不重要的错觉
优点:把每个阶段划分的更详细,和瀑布模型比较像
软件测试w模型:
优点:快速尽早发现问题
减少测试时间,加快测试进度
降低了修改问题的成本
缺点:串行
不适用于敏捷模型
配置管理:相当于图书馆的图书管理