软件测试狂想曲,等你回幻想.

软件测试狂想曲,等你来幻想...

软件质量在几年前,一直是困扰软件工程的头号难题... 所以提出了cmmi ,敏捷等软件工程方案..企图采用工程化方法客服软件的质量问题
(当然软件工程不单单是为了解决软件质量问题,还是为了按时高效的高质量的完成项目而提出)....

但是实际上还是有很多难题,比如说.测试员的水平.程序员的水平...测试的全面性...这些得不到全面的有效的贯彻的话软件质量很难保证....

测试也只能减少而不能根除软件中的bug

而全面性的测试又不太现实..
假设我的软件在V1.0版比较认真负责的花了2个月的时间测试了所有的功能.测试覆盖面100% (实事上根本不可能测试覆盖面高达100%,80%就非常不错了)
然后在V2.0的时候,又需要全面的测试一遍..因为只有全面的测试才能保证软件的质量..而这个成本很高..

更主要的是测试人员是人,不是机器,第二次测试的时候基本上就处于厌烦被动状态,不要说测试人员不尽责.并不是说,你花钱给他,他就得变成没有感情的机器.
如果成立的话,我花钱顾你做测试...说真的我自己也不想做测试..己所不欲,勿施于人.

但是钱总是要赚的,活总是要干的,质量总是要保证的,测试还是必须的..

那么
我们该如何即全面又高效的.进行软件测试呢?
测试方法要从考虑下面几个方面

    全面性: 测试方法能够全面的测试软件的几乎所有方面,找出所有的bug,比如null异常,界面难看,功能未实现后出错,代码逻辑出错,性能不稳定,

    自动化性:测试需要人工参与的次数或频率越少越好,最好是0.

    简单性:不需要写代码,点点鼠标就好,甚至动动口就好.甚至看着就好.
   
    重用性:测试一次,N次可重用..甚至无限次可重用...

最高层幻想一: 有没有不需要软件测试人员也能全自动全面测试的方法或软件?

    我个人不相信单凭软件测试人员就能全面的测试的了所有的bug...因为人是不可靠的..

    当然我们可以采用人海战术来增加bug的发现几率...目前微软是这么干的...
    体现的效果就是测试人员比开发人员还多...所以微软的产品相对来讲质量要高的多..

    但是可怜了我们这些小公司..无法请这么多专业的测试的人员..往往都是开发人员做测试...


次之幻想二: 软件测试人员可以全面的测第一边,而第二边第三边...第N边都由机器代替测试.
    这样的话,最起码,软件测试人员可以不用那么麻烦的测试N边,而态度消极.. 测试人员只要尽量的考虑多个bug..就可以随时间的增加而减少bug.. 其它的重复的测试让机器来做吧..
    这个倒是很不错,目前实现此种幻想的倒是有单元测试..
    问题是:
    一:做单元测试的人要懂代码..
    二:单元测试覆盖面不够广,有些功能必须由人工来测试,比如说界面..
    三:单元测试的重用性很低.一个测试只能在一个项目里使用.尤其是测试功能的单元测试..当然重用性也是有的,比如说sql注入检测程序,性能测试程序,DDOS攻击测试程序.但他们
    往往都不属于单元测试的范围,而是专业测试工具的范围..
   
   
次之幻想三: 等你来发表..
   
   
   
次之幻想四:

次之幻想五:

 

 

 如果你没有想法,大家可以发表下如何实现最高幻想一.