软件容易出现问题的地方(转)

上一篇 / 下一篇  2008-06-10 16:35:03 / 个人分类:拿来主义

   有一天我老大开完会就对我说:公司要我们帮开发人员培训一下,主题是:软件中常出现错误的地方.我听了这句话后就觉得很模糊,不能理解它的意思,因为我不知道他是要我针对某个软件或程序来说还是针对所有软件来说,如果是针对某个软件或程序来说的话这也没有什么问题,但如果针对所有软件来说的话,那我真是不知道怎么说了.不同的软件有不同的功能和特性,也有不同的操作方式,而且业务性质也不尽相同,所以要让我说出这些软件容易出现问题的地方那真是难透了,再说我才刚毕业,经验还没到家啊。

   就在这时候,我想了一想,虽然每个软件有不同的功能,特性和操作方式,但它们彼此之间也有一些共同点,不过我理解的是,这些共同不是在一些细节上面,如输入框,按钮之类的,而是一种比较概念化的理解上,而要理解透也是很简单,那就是:业务,性能,边界值和等价类。(声明:下面我所说的是我自已的个人观点而已,不代表所有人的立场。)

业务我想所有人都应该很容易理解了,如果软件的业务功能达不到需求上所规定的要求那样的话,这根本就不能再继续执行测试,只能打回给开发部再进行修改,我想这个缺陷毫无疑问是最严重的吧,如果这个软件已开发到后期的时候,不知道已经浪费了多少人力资源了。能够发现业务问题的可以使用因果图法。

然后就是性能,每个软件都有它的性能,特别是对于C/SB/S结构的软件来说,它的服务端的性能就是我们要测试的重点了,当然也不能把客户端的忽略掉。所以从这点看出,性能也是所有软件中所出现问题的共同点,不过性能问题有时也让人摸不着头脑的,例如:如果有一个服务端程序分别安装在两个配置不一样的服务器上面,可能得出的结果不尽相同,配置低一点的服务器响应的时间会比较长,而配置高一些的服务器的响应时间可能会很短从而达到需求所规定的时间;又或者在不同网络的情况下来对服务端进行性能测试,得到的结果也不一样(网络堵塞或者网络畅通的情况下);这样我们可能就会这样问:那系统到底达到要求没有啊?其实我说这个东西啊,就要看当初需求上所对服务器的配置和不同因络的情况下所规定下来所决定的,如果在规定配置的服务器上达不到所规定的响应时间的话,那毫无疑问这个程序是存在性能问题了,而如果所发现的性能问题是难以修改或会耗费比较大的资源的话,那就可以和用户沟通来提高服务器的硬件配置来解决性能上的问题。还有就是网络吞吐量的问题,这个一定要在需求上有所规定,如在网络畅通的情况下最大的响应时间是多少,而在网络堵塞的情况下系统最大的响应时间又是多少,或者在大量用户并发的情况下系统的响应最大时间又是多少,如果在当初的需求上没有作出相应的规定话,那到问题出现时就可能会争论不休了。

最后就是边界值和等界类了,每个软件都有一定的输入边界和输入范围,而有时程序员可能因为其他原因而会忽略这两点,所以一些教程上经常会说边界值和等价类是最容易发现问题的测试方法,我在工作中也用这两种方法发现过不少问题,这个我就不多说了,因为我想每个测试人员都会知道这一知识点的。

说到这里,我也觉得自已很烦,不知道为什么要对这个问题写一篇这样的文章,其实这个问题是不重要的,对于我们来说,最重要的说要发现问题,而且要找出所出现问题的原因。

 

本文转自:bossy的个人空间

http://www.51testing.com/index.php?uid/92053/action/viewspace/itemid/70443/php/1


TAG: 拿来主义

 

评分:0

我来说两句

我的栏目

日历

« 2024-02-20  
    123
45678910
11121314151617
18192021222324
2526272829  

数据统计

  • 访问量: 7751
  • 日志数: 15
  • 图片数: 1
  • 建立时间: 2008-06-04
  • 更新时间: 2008-10-24

RSS订阅

Open Toolbar