Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1349282
  • 博文数量: 118
  • 博客积分: 3888
  • 博客等级: 中校
  • 技术积分: 2940
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-10 18:15
个人简介

一看二做三总结

文章分类

全部博文(118)

分类: C/C++

2011-11-15 14:59:53

 
1        软件测试基本概念
 1.1      什么是软件测试

写了代码就有bug,所以必须要有相应的测试。相信几乎所有程序员的第一个程序都是“hello world”。这个小程序也要测试的。编写完成后,运行。如果打印出“hello world”,测试成功;否则,测试失败。

有人可能会说:哪里有测试,我编写完就执行了。

这是因为测试人员与用户都是你。假设你是要给你女朋友炫一下你会编程,那么你(测试人员)肯定要先自己执行下是否正确(系统测试),然后才会让你女朋友(用户)看(验收测试)。

1.2      软件测试的生命周期

原则上讲,软件测试时要贯穿于软件开发的整个生命周期的。对应于软件开发的各个周期,都有相应的软件测试周期。下图是软件开发与软件测试的对应关系:


其中的蓝色箭头是时间线,这也是一个软件开发的基本流程。编码完成并不是软件开发的结束,后面还有大量的测试要做。

看着好像有点晕,我们再看下面的图。软件开发中的每一阶段都需要有相应的通过准则或验收标准,这就是软件测试分阶段的原因。明确了这一点,也就明确了软件测试各个阶段的设计目标与范围。

需求分析是对用户需求的明确与分解,因此对应的测试为验收测试。只有通过用户的测试,才能说明软件完成了用户的需求。

单元测试是测试的最底层,也对应着软件开发的最底层:编码。他的主要目的是测试函数级别或者类的级别上是否达到了设计要求。


中间的两层实际开发中不一定是都存在的,经常会合起来构成详细设计与系统测试。

 

由于存在着这种各个阶段的依赖关系,我们不能等软件完成了才开始设计测试方法,而是同时进行。在开发的每个阶段,必须要先确定验收准则。否则我们如何知道设计的目标是什么呢?

见下图:

 

其中比较特别的是单元测试,它是唯一与编码同步进行的测试。它的作用就像是盖房子时的铅垂线,工人砌墙过程中要不断的用铅垂线来保证每块砖都是齐的,否则等盖好了再发现不齐,就只能拆墙了。


阅读(2089) | 评论(0) | 转发(0) |
0

上一篇:vlan入门知识

下一篇:compile the linux kernel

给主人留下些什么吧!~~