林伟红
【摘 要】21世纪已进入信息化高速发展的时期,各行各业已步入了电子化阶段。在信息科技发展的形势下,计算机的应用领域也愈来愈广泛,计算机软件的开发、测试、维护等问题突出,软件产品日益更新,不断适应市场化的需求。计算机软件的测试能够提高软件的可靠性,更好的服务于市场。本文探讨计算机软件的测试方法,分析测试的具体步骤及注意事项,通过严谨的测试,保证软件的安全有效运行。
【关键词】计算机软件;测试;方法与分析
面对激烈的市场竞争,很多软件开发商为了能占领一席之地,对软件进行各种升级更新、测试与维护,最终的目的是把自己的软禁推向市场,从而更好的为社会服务,也获取最大的经济效益。没有经过测试的软件,很大程度上面临质量不佳、运行风险,对企业造成负面影响,影响企业地位和信誉。特别是一些关键的核心软件,如医疗卫生系统软件、订票系统软件、银行结算软件等,如果没有进行严格的事前检测,造成的后果将不堪设想,所以,计算机软件的测试则是一个很重要的环节,必须引起重视,对软件进行测试评估,保证软件的运行质量。
1.计算机软件测试的方法分析
软件测试作为计算机工程的一个重要环节,是提高软件质量的保障,软件的测试需要很强的逻辑性。关于计算机软件测试的方法分类,目前主要有四种:即静态测试、动态测试、黑盒测试、白盒测试。
1.1静态测试
所谓静态测试指的是不执行计算机程序代码来寻找程序代码中的问题与错误,这一过程需要人工手动进行,或者借助其他工具完成。
1.2动态测试
所谓动态测试指的是在计算机的实际运行中,测试软件的程序,对程序的真实情况、发生动态进行分析和处理的过程。
1.3黑盒测试
黑盒测试指的是根据软件产品的功能,通过检测的方式对每一部分的功能进行检测,从而检测软件是否正常使用,黑盒测试的理念是把测试系统看成一个黑盒,通过外界输入的方式,在输出检测结果,从而得出结论的过程。黑盒测试的主要优点在于:简单容易操作,不需要很复杂的内部代码,测试与计算机软件的内部没有很大关系,从用户的角度出发,很容易解决问题的发生,功能的实现等。而且黑盒测试在自动化测试中也很方便。黑盒测试起着重要的不可替代的作用。随着软件开发平台及软件设计思想的进步和发展, 对黑盒测试提出了更明确的要求。人们发现, 必须遵循一定的测试理论, 依赖优秀的测试工具, 才能进行科学、完善的测试。
1.4白盒测试
白盒测试也被称作结构测试或者逻辑测试, 可以查阅被测代码内容的测试工作。但是需要知道程序的内部设计结构、具体代码, 并根据基础程序来设计测试。白盒测试的优势在于测试用例在代码上什么地方被忽略。帮助软件测试人员增大代码覆盖率, 提高代码质量, 发现代码隐藏问题。
2.计算机软件测试的手段分析
2.1 web网站测试手段
随着网络系统的普及,基于internet的浏览器、服务器结构的大型应用软件越来越多,一套软件应用系统是否可以承受大量数据,向多个用户同时间访问,并且用户不会感觉反应慢、系统失灵、登陆不上等状况。如果采用模似实际情况,找若干台电脑和同样数目的操作人员在同一时刻进行操作,后拿秒表记录下反应时间,这样的手工作坊式的测试方法不切实际,还无法捕捉程序内部放入变化情况,所以就需要压力测试工具。测试的基本方略是自动负载测试,即通过在一台或几台机上模拟成百或上千的虚似用户,同时执行业务,对应用程序进行系统测试的过程。工具还可以同时记录每一事务处理的时间,中间服务的峰值数据,数据库的状态。主要测试包括交易处理性能指标、资源监控。其中交易处理性能指标包括交易结果,每分钟交易数、交易响应时间, 最小服务的响应时间,平均服务的响应时间, 最大服务的响应时间等。压力测试的过程, 即逐渐增加负载,直到系统瓶颈或不能接收的性能点,通过综合分析交易执行指标和资源监控指标来确定系统并发性能的过程,最后由测试工具自动生成测试报告与测试结论。
2.2测试工具选择
目前市场上的性能测试工具种类很多,可简单划分为以下几种:负载压力测试工具、资源监控工具、故障定位工具。负载性能测试工具的原理通常是通过录制,回放脚本,模拟多用户同时间访问被测试系统,制造负载,产生并记录各种性能指标,生成分析结果,从而完成测试的任务。
主流负载测试工具的主要内容是偏写测试脚本,脚本中一般包括用户常用的功能,然后运行脚本, 得出报告。
3.计算机软件测试的过程分析
3.1测试的计划
测试计划就是定义一个测试项目的过程, 确定各测试阶段的目的和策略, 以便能够正确地度量和控制测试。这个过程将输出测试计划文档,明确要完成的测试过程的每一个阶段提供清楚的目标。
3.2测试的项目设计
测试设计是在软件开发设计阶段进行的测试工作,需要被测方提供较规范的软件需求规格说明、 概要设计、详细设计。测试设计是测试过程中最重要的阶段。在这个过程中将定义测试用例, 测试用例的设计对整个测试工作的成败起了决定性的作用。测试项的设计步骤分为以下几步:首先是 测试项的设计分析式样,使用各种技法、矩阵、错误的推测设计测试项。其中具体的技法会在后面做详细介绍。
其次是结果确认的讨论。测试项组合/ 重复的删除。从测试项中删除将没有依存关系的内容组合起来进行测试的项目。,删除根据多种测试技法做成的测试项中的重复项目。再次是测试项目的review有没有无效的测试项, 有没有重复的测试项, 测试项是否有遗漏,结果确认方法是否妥当。
3.3测试的准备
测试准备阶段是在测试实施之前,构造测试计划中说明的执行测试所需的要素,这些要素通常包括驱动程序、测试数据集、实际执行测试所需的软件; 同时为每个测试过程选择适当的测试用例; 准备测试环境和测试工具。
3.4测试的实施
按照测试计划, 使用测试用例对待测项目进行逐一的、详细的测试。将获得的运行结果与其他结果进行比较、分析和评估, 判断软件是通过了每项测试还是失败, 确定开发过程中将要进行的下一步工序; 同时记录、跟踪和管理软件缺陷。在每个测试执行之后, 对发现的错误都要进行相应的修改。当软件修改以后, 必须运行原有的全部测试用例重新测试, 并验证测试结果, 这样可确保修改后软件的正确性和质量。应定期进行回归测试, 看该错误是否会重新出现。回归测试是确认已测试的问题已不再存在的一项工作, 每进行完一个阶段应检查执行结果与测试计划或测试设计文件中是否存在差异。若存在差异就应针对差异进行适度的调整, 可能是修改测试设计文件的内容及测试计划的进度、安排等各种情况。
3.5测试的报告
将测试执行阶段得到的测试结果进行测试分析和汇总,测试观点是否有遗漏,结果确认方法是否妥当,依次评定测试用例、测试项、软件总体质量等级。如果必要, 还应该组织专家评议, 最终得到测试报告。测试分析报告的结构可以参考计算机软件产品开发文件编制指南。
3.6测试包整理
开发结束后, 整理测试包以便于下期开发时用来进行降级测试。软件测试是通过使用各种方法, 黑盒或白盒方法发现错误,分析错误,找到错误的分布特征和规律,从而帮助项目管理人员、开发人员发现当前所采用的软件开发过程中缺陷, 以便改进。同时也能够通过设计有针对性的检测方法,改善软件测试的有效性。完整的软件测试不仅可以给软件进行一个正确的评价,而且是提高软件重要的方法之一。
【参考文献】
[1]马瑞芳,王会燃.计算机软件测试方法的研究[J].小型微型计算机系统,2003,(12).
[2]刘竹林.我国计算机软件测试现状分析[J].华南金融电脑,2004,(09).
[3]吕雄津.浅谈计算机软件测试技术与保护技术[J].计算机光盘软件与应用,2012,(09).
[4]刘皓,李长命.软件测试简述与展望[J].江苏现代计量,2008,(01).
[5]陈琳,陈玮.软件测试中设计技法与测试过程的研究[J].现代电子技术,2006,(08).
[6]杨小龙.基于软件质量的测试方法与分析[J].质量探索,2009,(05).