51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3716|回复: 13
打印 上一主题 下一主题

[讨论] 软件测试的思考与总结!(转载)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-3-6 10:52:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
上一个项目总算是结束了,但是做的很不好,有很多的问题,在客户那边发现了很多的BUG.BUG多的原因有很多,也有设计和编码的问题.但是归根结底是测试没有做好.因为测试本身就是要找到程序中的bug,并修改它,当我们测试完之后,就说明程序在我们这边已经通过了,我们认为程序没有潜在的bug了.而我们在提交给客户之后,客户发现了很多的bug,这说明什么,说明我们的能力不行,我们编码编的不好?不是,是我们的测试没有做好.测试是软件质量的最后保证,测试做好了,我们的程序就能经的起考验,测试做的不好,那软件的质量无从谈起.我现在感觉,只要给予足够长的对应时间,和测试时间,开始是再烂的代码,通过严格的测试,我们都能把它变成精品.  
     现在结合上一个项目,来分析我们上个项目测试做的失败的原因.

     1.对于测试的目的和重要性认识不足.
         测试的目的是为了证明软件中存在bug,并把他找出来,以提高质量.它犹如数学中的反证法.我的目的是为了证明这软件有毛病有问题才做测试,但是经过严格的测试之后,发现他没有什么问题,这样就间接的证明了软件的质量.但是现状呢,在我们公司,没有专门的测试人员,一般都是自己测自己担当的那部分代码.而且项目做长了大家都有种厌倦的感觉,自己编好代码之后,根本就不想在改了.在测试的时候,也是报着证明软件没有问题的态度来去测试的.这样一来,在测试过程中极力的维护自己的代码和程序,这样下来,测试结果可想而知,根本达不到预定的测试效果.
        要想保证软件质量,就需要进行好的软件测试,而严格的软件测试的最基础保证就是,要对软件测试的目的和重要性有个充分的认识.在下期的项目过程中,我们要向项目组的所有成员灌输软件测试的重要性,让他们对软件测试有个正确的认识.

      2. 测试用例写的不好
         现在来看,我们在做软件测试的时候,写的测试用例根本就比较白痴,也就是说我们写出的测试用例大都是不能发现问题的.在测试用例的制作过程中,我们有很多问题,而这些问题的类型是不一样的,现分别说明.
        A. 要说写测试用例的话,首先还是要谈,写测试用例的目的,知道目的之后,我们才能写出有效的测试用例.在这一年多的软件开发过程中,我发现大多数人,包括我自己在内,都没有真正的明确写测试用例的真正用意.或者说由于现实的所迫,加上我们自己的能力有限.曲解了写测试用例的目的.写测试用例的目的就是为了测试能严格的被执行,不会出现本来想到的测试点被遗忘.且让不同层次的人对同一产品进行测试,能出现同样的效果.而且有了测试用例之后,让我们的回归测试更方便和精确.但是可惜很多人都没有意识到这点,或者说做到这一点.一个经验丰富的人,写出的测试用例的命中率是很高的.也就是说,他写出的测试用例并不一定很多,但是个个一针见血,直指要害.现在呢,公司和客户对每千行代码的测试用例数有严格的规定,大家为了达到这个目的而写了很多无效的测试用例,而一针见血的测试用例却还很少.而且大家通过无效的或者重复的测试用例的堆积,使自己的测试用例数达到了公司的要求之后.就不再费心思考虑有效的测试用例了.大家在写测试用例的时候想的是我如何才能使自己的测试用例够数,而不是如何设计测试用例来测出更多的BUG.这样就不自觉的背离了写测试用例的初衷.
       在下期的项目中,不仅要求测试用例的数量,更要要求测试用例的质量,而真正的要保证测试用例的质量,除了进行检查之外,更重要的是测试人员本身了.养成对测试用例的正确的看法,和测试的根本目的.还要测试人员有很强的责任心,在以前的项目中,我个人感觉,自己的责任心就不够.
       B. 测试用例写的不好,另一方面表现在,测试用例没有测到软件的所有的需求.也就是说在写测试用例的时候,没有能系统的考虑以前在设计阶段确定的需求.这里就要先讨论一下什么是bug,bug就是在软件中出现的不是我们以前在做需求的时候想要的结果.日方也经常叫做不具合.我们进行测试就是为了要找出bug,也就是找出不是我们预想得到的地方.而我们以什么为测试的凭判标准呢,当然是我们以前得到的软件需求,在写测试用例的时候,一定要保证测试用例体现了所有我们知道的软件需求.在我们现在的开发过程中,大多数需求是在基本设计书或者说是详细设计书里面记载的,但是要注意设计书里面并没有体现全部的需求.因为在开发过程中有需求的变更,正常的情况下他会体现在需求管理表中.还有一些是式样不明确的地方,我们需要通过QA List来给客户确认.以现在的情况来说,需求存在与式样书,需求管理表,和QA List中.我们只有在写测试用例的时候,把这些需求都写进去,这样测试用例才能有好的覆盖度.
      C. 测试用例不好,还有一个方面是,测试用例设计的简单,或者说,我们设计的测试用例中,操作非常简单.这样仅仅测试了系统最基本的功能.而在程序的健壮性上没有测到.这种情况一般会在各个操作之间的关联比较大的情况下更加明显.在上个项目中,有一些bug就是这样出来的.我们的测试用例相对简单,我们的测试也比较简单.我们测过之后,没有问题.发给客户之后,客户给我们返回了一大堆bug.为什么呢,因为客户在测试的时候,他们测试用例相对复杂,他们一个测试用例涉及的操作比较多.一般来说,单独的每个功能测试,都没有问题.但是没个功能重复多次的操作,或者先进行A操作,再进行B操作,再进行C操作,然后再进行A操作,这时候可能就会有问题,而这就是涉及到软件的健壮性了.记得以前在程序员杂志上看到过一篇文章,说是一个小伙在大学的时候,发现了微软的几个bug,毕业后就被微软亚洲研究院给录用了.他是对软件进行几乎破坏性的操作,同样一个操作,操作一遍没有问题,5遍10遍也没有问题,但是在15到20遍的时候就出问题了.我估计我们做出的东西很多地方用不到10遍就会出问题了.
      D.测试用例中自己不确定或者不放心的地方,一定要多做一些测试用例.正如成功学上说的我是我认为的我一样.当你感觉程序的某个地方有问题的时候,一般来说它确实有问题.这些地方一定不要放过,因为这就是虫子的小窝,你只要对其进行测试,肯定有收获的.


      3.再说一下测试执行的方面.
           我个人感觉,如果测试用例制作的好坏,和担当人员的经验和能力有关系的话.执行测试时效果的好坏,主要决定于担当者的责任心和态度来说了.因为测试的时候,你只需要根据测试式样书上写的流程来测就好了.这个时候不需要再进行测试用力的设计了.在以前的项目中,可能有很多人,对测试不是很在乎,觉的测试就是走一个过场,我写出的测试用例和执行测试都是为了忽悠客户,而不真的是在提高产品质量.我以前就有这样的想法,以前觉得一个程序做的好坏,最主要的是在于代码的编写,后来又觉得设计非常的重要,而直到最近我才真正的意识到测试的重要性.其实对于在有限的时间中要做出一个好的产品,软件开发周期的各个阶段都是非常重要的.哪一环出了问题,都会对进度和软件的质量有挺大的影响.现在我甚至有这样的感觉,就是测试甚至比编码更重要,因为编码做的不好,还有测试来检查,而测试做的不好,那么就真的很难弥补他造成的恶劣影响了

     其实,现在我们在测试过程中,做的不好,主要是态度不好.做任何事情都是态度决定一切.所以刘老大将软件是一种态度也是很有道理的.总结了这么多,希望在以后的项目中尽量的避免以上的各个问题.确实把测试做好,提高软件的质量,也提高我们自己的价值~


[ 本帖最后由 q260954617 于 2008-3-12 13:13 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-3-6 18:21:44 | 只看该作者
支持!!!!!
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2014-12-26 13:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
    发表于 2008-3-7 17:30:06 | 只看该作者

    顶了再说:

    楼主能写这么多真实的感想,不多说,顶一个!    人都是有惰性的,谁愿意找自己的茬找自己的毛病或承受自己的问题呢?   所以一定需要公正的第三者。   自我测试,可以理解为宏观的调试   咯咯
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2008-3-7 17:37:58 | 只看该作者
    态度决定一切
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2008-3-7 19:01:55 | 只看该作者

    有前途

    如果大家每个RELEASE后都能这么总结一下的话,那想必进步一定会很快的!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2008-3-7 19:16:03 | 只看该作者

    小节一下

    1. 重要性认识不足
    解决:这次失败的教训够深刻了吧?

    2. 从需求到用例的转化过程丢失了部分需求。
    解决:写一份测试需求。测试需求可以根据用户需求来写,将需求文档分解后写成测试需求。还有一些隐形的,不能从文档上反映出来的东西,要对被测系统以及周边相关模块有较为深入的了解,根据其业务流和数据流设计测试需求。

    3. 测试用例简单,没有涵盖所有功能点。
    解决: 这块属于测试方法问题。在深入了解需求的基础上,使用等价类划分,边界值等方法编写测试用例。在测试执行前准备好测试数据。

    4. 软件的健壮性测试不够
    解决: 这点相对要难度大一些,发现的几率也小一些。不过要遵循持续测试的原则,在产品提交给测试,到测试完成,再到最后发布都要一直测试。另外还可以给每个测试人员分工,一部分项目比较空的人员可以执行随机测试。

    5. 执行问题
    解决: 可以用EXCEL或是其他工具管理测试用例。测试人员执行过后,要把测试人员,测试日期,用例截图,是否通过等信息记录到测试用例中,然后讲测试报告发给TL和开发。这样可以在一定程度上保证测试用例的执行粒度。

    暂时想到这么多,欢迎大家补充!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2008-3-8 15:04:41 | 只看该作者
    写的太好了,支持一下。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2008-3-8 20:44:00 | 只看该作者
    再烂的代码,通过严格的测试,我们都能把它变成精品~赞~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2008-3-12 10:16:12 | 只看该作者
    怎么没人来顶捏~~~~~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
     楼主| 发表于 2008-3-27 08:51:16 | 只看该作者
    这么好的帖子可不能沉呀
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2008-3-27 18:06:21 | 只看该作者
    测试人员的态度和责任心很重要
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
     楼主| 发表于 2008-3-30 00:26:07 | 只看该作者
    的确的确
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2008-5-13 22:02:21 | 只看该作者
    说得很中肯
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2008-5-15 08:35:04 | 只看该作者
    楼主有个观点不完全
    在执行测试的时候不需要对测试用例进行设计,但有时需要对测试用例不完善的进行补充
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-14 23:16 , Processed in 0.082651 second(s), 29 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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