从软件开发的角度浅析软件测试的思路

来源 :硅谷 | 被引量 : 0次 | 上传用户:qiaolei8214122
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]软件开发过程必须伴有质量保证活动,而软件测试是最至关重要的质量保证活动,使质量控制的最重要手段[1]。从软件加密,数据加密,性能问题,极限业务数据测试,精确度的测试,临界值的测试,测试的目的等几个方面分析软件测试的重要性。
  [关键词]软件开发软件测试
  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0820041-01
  
  我认为,软件测试不只是简单的找出程序中的Bug,而是通过测试,能够合法的面向市场,并且有更强大的生命力在市场中生存下去。如何才能更好的生存下去呢?于是引出一个话题:
  
  一、软件加密问题
  
  软件加密这个范围有点大,涉及面也比较广,很多人就想不到软件测试与软件加密会有什么关系,当然每个人的水平不同,所能想到事情的深度与广度也不同。我举个很简单的例子,比如说某些商用软件,必须要会员注册后才能正常使用的,当然了注册是需要花费一定的金钱的,这样从事软件开发的公司才会有利润的回报。如果这款很受欢迎的软件在面市第二天,就被高手给破解掉了,也就是成为了目前网上所说的破解版,绿色版,并且破解后,软件原有的功能完全能正常使用,那么,你想想,还会有人花钱注册正版软件吗?当一款软件失去了大部分客户群体时,这个软件虽然还有人在使用,但是,它已经注定会慢慢的被“市场先生”无情的淘汰。至于软件如何加密/解密以及测试方法,不是本文涉及的内容,就不多说了。在此只是说明,通过软件测试,提升软件自身的加密程度,是非常重要的。
  
  二、数据加密问题
  
  数据的加密与软件测试又有什么关系呢?在这个通信技术飞速发展的年代、网络无所不在的年代,如果数据加密不严格,导致数据流失,会造成多么大的影响呢?
  第一是客户信息方面的泄漏。如果客户的个人信息,比如说联系方式等数据流失出去,那么你的客户,很可能会接到一些骚扰电话,收到一些烦人的垃圾信息,这还是小问题,如果因为数据的流失导致客户被一些犯罪份子敲诈勒索,那么,软件开发公司是需要负法律责任的。
  第二是这一套软件系统本身的数据泄漏。如果有一些与软件本身相关的数据泄漏,你的一些竞争对手就要偷笑了。他们完全可以从这些数据中,分析出这套软件的开发思路,以及你们公司的软件开发、设计思路,从而在以后的竞争中轻易的将你击败。因此可以得出结论,如果软件测试过程中,忽视或是轻视了数据加密深度的问题,很可能在不久的将来,造成软件开发公司被迫面临倒闭。
  
  三、性能问题
  
  一个合格的软件,并不是完成客户所有的需求,就OK的。比如一个在线购物的网站,一千人同时在线交易,没问题,两千人时就有点迟钝,达到五千人时,整个网站就崩溃了,这肯定是不行的。当然了,这只是单纯的从运行效率上阐述这个问题的。除此之外,还应该考虑到操作性是否合理的问题,网络购物的客户,无非就是想图个方便,如果一个网络购物的网站,操作流程比直接去商场购物更加复杂,更加的浪费时间,那么,是否应该把这种情况定性为“可操作性差”呢?假如说,运行通畅了,操作流程也简单化了,那么,是否应该考虑软件的可移植性问题?是否存在在windows系统下运行完全正常,在Linux系统下就根本无法正常运行的情况呢?
  
  四、极限业务数据测试
  
  有开发经验的人都知道,一个软件系统前台界面,输入的数据,在后台都是用一些变量进行存储的。首先,根据不同的业务需求,软件开发人员对应的选择一些合适类型去定义这个变量,比如说:整型,单、双精度型等。不同的类型,能存储的数据长度也是不尽相同的。假如说,A类型的变量,最大能存储的数据长度为10个字节,但是从业务逻辑来讲,最大出现的数据也就是9个字节的长度。按照正常的业务处理来说,本系统是不会出现问题的。但是,万事总有些考虑不周全之处,突然有一天,出现了一笔意料之外的业务定单,出现了10个字节以上的数据,这样就完全可以很轻松的令整个软件系统崩溃。
  
  五、精确度的测试
  
  第一,依据上文,因为可以用不同类型存储数据,导致了某些本应该相等的数据,在一定的情况下,出现了不相等的逻辑假象。比如说:0与0.00。这两个数据,在网络传输的过程中,如果是按照字符串的形式来传输的,那么他们两个是不相等的。如果用不同的数据类型保存后,然后转成同样的数据类型,再进行比较,又变成相等的。
  第二,因为不同的类型的精度不同,在大量的数据计算过程当中,导致数据的丢失,以致不能得正确的结果。举例说明,A类型精确度为小数点后两位,B类型精确度为小数点后四位。那么以A类型定义的变量与B类型定义的变量分别存储相同的数据0.4501,那么存储后得到的结果分别是A=0.45,B=0.4501。表面上看,A与B的结果相差只有0.0001,但是想想,如果有一百万条这样的数据进行加法运算,那么最后得到的结果相差是多少?对于某些系统而言,这样小小的差距,绝对是致命的。比如说:科研相关方面的系统,银行方面的系统等等。
  
  六、临界值的测试
  
  举个典型的例子,数值:0。经常有些业务用这个数值来做判断。比如说,注册申请时,数值大于0时表示“申请成功”,否则表示“申请失败”;软件的版本控制时,数值等于0表示“试用版”,否则表示正式版等等。于是,对于软件开发人员而言,对于存在这些业务的测试时,经常需要考虑以下五个测试点:0本身;极近值,正数1(+1),负数1(-1);极远值。比如说,正数9999999999,负数9999999999。如果临界值没有严格的进行测试,那么如果软件开发人员,把A>=0写成A>0,这样的话,本来一个合法的数据0,变成了非法数据,从而得到了错误的结果。以此,也体现了临界值测试的重要性。
  
  七、测试的目的
  
  有人说,测试的目的,无非是找出系统中存在的Bug,这有什么难的。此话不然。如果真是这么简单,那岂不是非计算机行业的人士,也可以过来做测试?那还要专业的人士做什么呢?我个人认为,软件测试的目的,找到系统中存在的Bug,那只是最基础的工作,把系统中表面的、隐藏的Bug全部清理掉之后,应该进一步的考虑一下,系统是否真正的合理。理论来讲,任何事物的存在,都有其不可避免的缺陷存在。所以,我们需要通过测试,尽量的减少系统的缺陷,或是减少一些相对比较大的缺陷的存在,这也就是所谓的“缺陷测试”。
  软件测试技术,因为软件开发技术的快速更新,而需要不断提升测试技术与理论,才能真正的完成测试任务及使命[2]。软件测试工作看上去简单,而实际上,并不是所有人都能很好的完成的工作,是一个需要不断总结的工作,是一个需要不断提升技术才能灵活掌握的工作。
  软件测试工作,绝对不简单。
  
  参考文献:
  [1]佟偉光,《软件测试技术》,人民邮电出版社,2005年7月,10-11.
  [2]郭耀,软件测试实践:成为一个高效能的测试专家,清华大学出版社,2008.11.21.
  [3]郭耀,软件测试:跨越整个软件开发生命周期,清华大学出版社,2008.8.22.
其他文献
中图分类号:TN94文献标识码:A文章编号:1671-7597(2009)0820034-01    数字电视,是将传统的模拟信号经过抽样、量化和编码转化成二进制数代表的数字式信号,然后进行各种功能的处理、传输、存储和记录,也可以用电子计算机进行处理、监测和控制。采用数字技术不仅使各种电视设备获得比原有模拟式设备更高的技术性能,而且还具有模拟技术不能达到的新功能,可提供优质的电视图像和更多的视频服
期刊
随着科学技术的不断进步和发展,工程设计人员在积累设计经验的基础上,还必须及时了解和学习各种新技术和新知识,使自己的设计水平不断得到提高。在设计和科研工作中,通过科技
英语句子中,主语的\"人称\"和\"数\"要限制、决定谓语动词的形式变化,这就叫\"主谓一致\"关系。它通常依据三项原则:(1)语法一致;(2)意义一致;(3)就近一致。 In
宝怡珠宝在本届中国国际珠宝展上正式推出的“最美”婚庆系列第二批特别款式,得到了客户的广泛好评,迎来了持续不断的热销场面……在今年这个并不被看好的市场中,宝怡“最美
24年,可谓是很短暂的,但对于一个民营企业成长来说,其中的波折艰难,是外界难以想象的。宝福珠宝自创建以来,凭借着超前的眼界和胆识,克服重重困难,在竞争激烈的珠宝领域打造
[摘要]从网络安全和网上交易两个方面介绍相关的信息安全技术,即防火墙技术,入侵检测技术,网络反病毒技术,虚拟专用网技术,数据加密技术,数据签名技术,数字证书和认证机构以及安全协议等,通过他们来保障电子商务活动的安全。  [关键词]电子商务信息安全技术数据加密技术数据签名  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0820042-01    一、引言    随着网络、
[摘要]研究諾基亚PS与CS之间的相互影响关系,并依据此研究结果,对齐齐哈尔现网EGPRS进行调整。  [关键词]PSCS相互影响EGPRS  中图分类号:TP2文献标识码:A文章编号:1671-7597(2009)0820040-01
[摘要]从学生管理流程、系统体系结构、系统功能、数据库选择等方面论述基于.NET平台下的中职学校学生管理系统开发设计的构建过程及实现方法。  [关键词]学生管理系统.NET平台模块设计  中图分类号:G71文献标识码:A文章編号:1671-7597(2009)0820043-02