一、 生命周期模型
生命周期:软件从生到死的整个过程
生命周期模型:将从生到死所经历过的“各个环节”进行抽象
1. 瀑布模型
特点:本质–瀑布,但是对测试进行细分
测试的阶段划分:
集成测试:测试单元之间的接口(是否吻合)——接口测试简:接口
系统测试:融合所有的软件、硬件、数据、 络环境等一起进行测试简:系统
验收测试:客户进行的测试简:客户完成
内部验收:公司内部人员
客户验收:客户完成
阿尔法(α)测试:对象——软件的α版本,对内(内部员工,潜在客户)可控
贝塔(β)测试:对象——软件的β版本,对外不可控
(SVN官方仓库:http://svn.apache.org/repos/asf/subversion/tags/α、β版)
参考依据:
单元——详设
集成——概设
系统——需求规格
验收——客户需求(原始需求)
需求:显示需求(客户提出)、隐式需求(分析、发掘)、规范性需求(行业规范)
《GBT 15532-2008 计算机软件测试规范》对测试阶段的划分:
单元、集成、(配置项)确认测试、系统、验收
3. 敏捷开发
(1) 敏捷宣言
·个体和互动高于流程和工具
·工作的软件高于详尽的文档
·客户合作高于合同谈判
·响应变化高于遵循计划
(2) Scrum
http://www.scrumcn.com/agile/scrum-knowledge-library.html学习资料
以系统测试举例:
特点:测试介入时间早(针对瀑布)
测试准备阶段:前置进行,和开发并行同步
计划阶段:(经理)编写《测试计划》:主要包括工作任务安排、风险、成本等
参考《GBT 9386-2008 计算机软件测试文档编制规范》
设计阶段:编写《测试方案》(包括:环境搭建、数据准备、用例设计等内容)
实现阶段:编写《测试用例》
执行阶段:执行《测试用例》、提交《缺陷 告》、进行回归测试、编写《测试 告》
回归测试:时间:新迭代(版本)后,要进行回归测试
目的:验证已有功能的稳定性–重复率高—自动化完成
验证缺陷修复是否成功
策略:完全回归:执行以前的全部测试用例——理想态
选择(部分)回归:只回归发现Bug的测试用例——实际
选择部分(重要、优先级高、使用频率高)测试用例进行回归
冒烟测试:时间:新迭代(版本)后,先进行冒烟测试
目的:验证新版本的基本功能是否实现
结果:实现:进入“转测试”阶段(华为)
未实现:打回版本给开发
三、 测试分类
按测试阶段分 |
按测试方法分 |
按动静分 |
按人工自动分 |
单元:内部逻辑 |
黑盒:代码不可见 |
动态测试:代码是否被运行–是 如:测试个输入 |
人工测试 |
集成:接口 |
灰盒:之间(过时) |
||
系统:完整系统 |
白盒:代码可见 |
静态测试:代码是否被运行–否 如:代码走读、检查文档 |
自动测试–依靠工具 |
验收:客户(αβ) |
|
四、 质量相关
测试的定义(目的):
1、定义没有统一标准
2、早期:强调发现错误(找Bug)——测试部
3、现在:强调对质量的把控—— QA、质量保证部
质量:强调全面质量管理的理念(全公司的人都对质量负责)
定义:《ISO9000国际质量标准》
ISO 国际标准化组织
如何从测试角度保证软件质量:
1、保证软件必须满足用户需求(尽量站在客户的立场);
2、保证软件符合各类行业规范
3、缺陷分析
如:按模块统计缺陷数量,调整后续工作测试重点
按产生原因统计,将缺陷原因反馈到开发,下个项目同样问题不累犯(循环)
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!