测试阶段-简介

*测试应该尽早的进行, bug发现越晚修复代价越大。


如果根据软件测试的阶段来进行分类的话, 测试分为以下几个阶段:单元测试,集成测试,系统测试和验收测试。


单元测试:对软件中最小可测试单元进行检查和验证(可以认为是测试的最小模块)

单元测试的原则:

- 尽可能保证各个测试用例都是互相独立的

例如,以下是一个测试登录的错误的脚本:因为调用了getpassFromDB的依赖方法,出现错误无法判断是测试方法出错还是依赖出错。
public void testlogin(){
String username, password;
username = "test"
password = getpassFromDB(username);
Boolean result = app.login(username, password);
assertTrue(result);

}

- 一般由代码的开发人员来实施,用来检验所开发的代码的功能是否符合自己的设计要求


单元测试的益处:
a. 能尽早发现bug
b. 有益于以后的重构
c. 简化集成(保证最小模块的稳定性和正确性,所以是简化集成)
d. 减少文档 (因为修改代码也会修改相应的说明文档)
e. 用于设计, 将设计思路体现在设计里


单元测试的限制:
a. 不可能覆盖所有的执行路径,所以不肯保证捕捉到所有路径的错误
b. 每一行代码, 一般需要3-5行测试代码完成,存在投入和产出的平衡
(单元测试框架:JUnit - java语言, Nunit-.net语言, PHPUnit-php语言, CPPUnit-C++语言)


集成测试:是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组成模块、子系统或系统过程中各部分工作是否达到或实现相应技术指标及要求的活动。(注重各个单元模块之间的接口)
集成测试的主要实施方案-
1. Big Bang - 所有的东西组装好,然后进行集成测试
2. 自顶向下 - 沿主控制层逐层向下进行集成测试
3. 自底向上 - 最常用的方式,由最底层开始, 逐层向上
4. 核心系统集成 - 从最核心向外围集成
5. 高频集成 - 隔一段时间,开发对代码进行测试


集成测试和单元测试的区别:
1. 测试对象不同
2. 测试的依据不同
3. 测试的方法不同


系统测试:是将经过集成测试的软件,作为计算机系统的一部分,与系统中的其他部分结合起来,在实际环境下对计算机系统进行一系列的严格有效地测试,以发现软件潜在的问题,保证系统的正常运行。
系统测试的关注点 - 
- 关注系统本身的使用
- 关注系统和其他相关系统间的连通
- 关注系统在不同使用压力下的表现
- 关注系统在真实使用环境下的表现


验收测试:也成交付测试。针对用户需求、业务流程的正式的测试, 确定系统是否满足验收标准,由用户、客户、或其他授权机构决定是否接受系统。

对验收测试进行细分的话:
- 用户验收测试
- 运行验收测试 从运维的角度
- 合同和规范验收测试
- alpha 测试, 用户执行, 开发提供操作和环境
- Beta 测试, 完全脱离开发者环境,在用户提供环境下执行


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值