51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6096|回复: 8
打印 上一主题 下一主题

[原创] 软件测试基础(1)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-5-27 18:20:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
内容
什么是质量
什么是质量
什么是质量
什么是质量
什么是质量
什么是质量
软件质量特性
测试方法
软件测试的目的和原则
软件测试的目的
软件测试的原则
软件测试的对象
测试信息流
测试与软件开发各阶段的关系


软件测试的目的
基于不同的立场,存在着两种完全不同的测试目的。
从用户的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。
从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户

的要求,确立人们对软件质量的信心。
Myers软件测试目的
(1) 测试是程序的执行过程,目的在于发现错误;
(2) 一个好的测试用例在于能发现至今未发现的错误;
(3) 一个成功的测试是发现了至今未发现的错误的测试。

换言之,测试的目的是
想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。如果我们成功地实施了测试,我们就能够发

现软件中的错误。
测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。
实施测试收集到的测试结果数据为可靠性分析提供了依据。
测试不能表明软件中不存在错误,它只能说明软件中存在错误。
软件测试的原则
1. 应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。
2. 测试用例应由测试输入数据和对应的预期输出结果这两部分组成。
3. 程序员应避免检查自己的程序。
4. 在设计测试用例时,应包括合理的输入条件和不合理的输入条件。

5. 充分注意测试中的群集现象。 经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比


6. 严格执行测试计划,排除测试的随意性。
7. 应当对每一个测试结果做全面检查。
8. 妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。


软件测试的对象
软件测试并不等于程序测试。软件测试应贯穿于软件定义与开发的整个期间。
需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、

详细设计规格说明以及源程序,都应成为软件测试的对象。

为把握软件开发各个环节的正确性,需要进行各种确认和验证工作。
确认(Validation),是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。
需求规格说明确认
程序确认 (静态确认、动态确认)
验证(Verification),试图证明在软件生存期各个阶段,以及阶段间的逻辑协调性、完备性和正确性。


测试信息流
软件配置:软件需求规格说明、软件设计规格说明、源代码等;
测试配置:测试计划、测试用例、测试程序等;
测试工具:测试数据自动生成程序、静态分析程序、动态分析程序、测试结果分析程序、以及驱动测试的测试数

据库等等。

测试结果分析:比较实测结果与预期结果,评价错误是否发生。
排错(调试):对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档。
修正后的文档再测试:直到通过测试为止。

通过收集和分析测试结果数据,对软件建立可靠性模型
利用可靠性分析,评价软件质量:
软件的质量和可靠性达到可以接受的程度;
所做的测试不足以发现严重的错误;
如果测试发现不了错误,可以肯定,测试配置考虑得不够细致充分,错误仍然潜伏在软件中。
测试与软件开发各阶段的关系
软件开发过程是一个自顶向下,逐步细化的过程
软件计划阶段定义软件作用域
软件需求分析建立软件信息域、功能和性能需求、约束等
软件设计
把设计用某种程序设计语言转换成程序代码

测试过程是依相反顺序安排的自底向上,逐步集成的过程。
测试用例设计
两种常用的测试方法
黑盒测试
白盒测试
黑盒测试
这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需

求规格说明书,检查程序的功能是否符合它的功能说明。
黑盒测试又叫做功能测试或数据驱动测试。

黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错误:
是否有不正确或遗漏了的功能?
在接口上,输入能否正确地接受? 能否输出正确的结果?
是否有数据结构错误或外部信息(例如数据文件)访问错误?
性能上是否能够满足要求?
是否有初始化或终止性错误? 

用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产

生正确的输出。
但这是不可能的。

假设一个程序P有输入量X和Y及输出量Z。在字长为32位的计算机上运行。若X、Y取整数,按黑盒方法进行穷举测

试:
可能采用的
   测试数据组:
    232×232
      =264   
如果测试一组数据需要1毫秒,一年工作365× 24小时,完成所有测试需5亿年。
白盒测试
此方法把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试

用例,对程序所有逻辑路径进行测试。
通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱

动测试。

软件人员使用白盒测试方法,主要想对程序模块进行如下的检查:
对程序模块的所有独立的执行路径至少测试一次;
对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次;
在循环的边界和运行界限内执行循环体;
测试内部数据结构的有效性,等。

对一个具有多重选择和循环嵌套的程序,不同的路径数目可能是天文数字。给出一个小程序的流程图,它包括了

一个执行20次的循环。
包含的不同执行路径数达520条,对每一条路径进行测试需要1毫秒,假定一年工作365 × 24小时,要想把所有路

径测试完,需3170年。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-4-12 17:06:51 | 只看该作者
用上了
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-7-14 16:35:41 | 只看该作者
比较详细。。。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-7-14 16:36:06 | 只看该作者
怎么发了一张帖子就有 21分啊
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-7-15 20:36:26 | 只看该作者
一开始有初始积分的 呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-7-24 09:58:40 | 只看该作者
谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-8-13 09:56:20 | 只看该作者
受益sdlkfj2
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-8-20 17:31:03 | 只看该作者
不错
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-8-20 17:47:31 | 只看该作者
太感谢了
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-16 11:47 , Processed in 0.070041 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表