51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 800|回复: 0
打印 上一主题 下一主题

【csdn转】系统软件测试:风险分析

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-4-7 01:48:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
太多的历史悲剧告示我们风险无处不在,不学会控制它,就一定会被它所控制。软件中的风险小到可以影响你不能访问一个网页,大到可以让宇宙飞船失事。所以我们一定要注重控制软件中的风险。

我们知道,完全测试一个软件是不可能也是不现实的,因为受到Cost,Schedule,Resource的影响。入下图所示,测试的时候的测试用例只可能是所有测试用例的一小部分。

我们应该要根据Schedule,将Resource和cost合理的分配到一个软件系统中优先级最高,最关键,最需要被测试的地方去。而这个前提就是对软件系统或者软件项目做风险分析。

作者告诉了我们两种风险的分类:

1. 软件风险

这种风险分析主要是确定软件中要测试什么,测试的优先级,测试的深度

2. 规划风险

这种风险主要是为了防范未计划的影响项目进度的事件的发生。比如测试人员突然离开导致人员不足、软件的需求的突然变更。

好,首先来看看软件风险。作者提到了参与软件风险分析的人是来自各个领域的专家。项目经理,开发者,测试者,用户,界面设计者都需要来共同分析软件的风险。而且软件的风险分析要在项目的周期一开始就开始进行,因为风险越迟发现越会影响项目的成功。作者接着给出了软件风险分析的10个步骤,这个流程化的步骤相当好用,我在项目中运用中发现越是大的项目越是能受益于这种分析。不论开发人员、测试人员都能够明确系统中什么是最重要的。下面简要介绍一下:

1. 组建一个“头脑风暴”小组

这个头脑风暴小组是由项目经理,开发者,测试者,用户,界面设计者等各个方面的专家组成。在我所经历的项目中,通常是由Program manager, Testers, Developers来进行讨论。当然比较有经验的比如Test Lead和Developer Lead会参与其中,利用经验发现一些潜在可能存在的风险。

2. 列出软件中的所有功能列表

头脑风暴小组应该需要在讨论之前,拿到相应的文档比如需求文档,功能设计文档等。而且一开始可以是对大的方面进行分类,不需要过于细化,慢慢的随着讨论的深入才进行细化。

举书中的ATM机器的例子,比如一开始可以分成

a) 功能性

a.1) 取钱

a.2) 存钱

a.3) 查余额

a.4) 转帐

a.5) 自动还款

b) 性能

c) 安全性

d) 可用性

3. 确定某个功能失败的可能性

这个部分非常关键,就是要确定软件中的那个特性最可能导致失败。这个其实是客观和主观的因素同时才能决定的,可以从下面几方面来判断:

a) 功能对系统其它功能或者组件的依赖程度,依赖程度很高的话,失败可能性就高

b) 功能本身的复杂度

c) 功能的实现和设计者的经验,如果这个team是年轻和没有太多经验的,那么失败可能性就高

d) 如果用的是新技术或者实践,可能失败可能性高

e) 如果是旧的功能的改写,那么如果过去它Bug比较多,也是失败可能性较大的。

f) 如果是对旧功能的改写,那么改写几行代码的可能比大量改写失败可能性大,因为回归测试往往不充分
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-16 01:02 , Processed in 0.066065 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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