浅谈实验教学中计算机的测试方法

2019-10-21 09:48张莹曲艳梅
科学与财富 2019年31期

张莹 曲艳梅

摘 要:针对软件测试课程教学中缺乏系统实例、重技术实现轻文档工作、测试工具使用流于产品说明等问题,文章就探索实验教学进度和内容进行了论述。依据实际软件开发过程中软件测试实施的方式方法,提出设计一套系统的软件测试实验内容。文章还阐述了在教学过程中采用案例教学法,提供给学生完整的案例系统及充分的设计文档.统计功能,测试计划。测试应该跨越整个软件开发流程。需求验证(自检)和设计验证(自检)也可以算作软件测试(建议称为需求测试和设计测试)的一种。软件测试应该是一个泛型概念,涵盖整个软件生命周期,这样才能确保周期的每个阶段都禁得起考验。同时测试本身也需要有第三者进行评估(信息系统审计和软件工程监理),即测试本身也应当被测试,从而确保测试自身的可靠性和高效性。否则自身不正,难以服人。

关键词:测试管理教学;测试实习性教学;测试管理系统

软件开发和使用的历史已经留给了我们很多由于软件缺陷而导致巨大财力、物力损失的经验教训。这些经验教训迫使我们必须采取强有力的检测措施来检测未发现的隐藏软件缺陷。生产软件的最终目的是为了满足客户需求,我们以客户需求作为评判软件质量的标准,认为软件缺陷(Software Bug)的具体含义包括下面几个因素:

软件未达到客户需求的功能和性能。

软件超出客户需求的范围。

软件出现客户需求不能容忍的错误。

软件的使用未能符合客户的习惯和工作环境。

考虑到设计等方面的因素,我们还可以认为软件缺陷包括软件设计不符合规范、未能在特定的条件(资金、范围等)达到最佳等。可惜的是,很多人更倾向于把软件缺陷看成运行时出现的问题,认为软件测试仅限于程序提交之后。在目前的国内环境下,几乎看不到完整准确的客户需求说明书,再加上客户的需求时时在变,追求完美的测试变得不太可能。但是明确软件测试现实与理想的差距,在软件测试中学会取舍和让步,对软件测试是有百益而无一弊的。

软件测试并不单纯等同于程序测试。软件测试应该贯穿整个软件定义与整个开发周期。因此需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应该是软件测试(评审)的对象。

在对需求理解与表达的正确性、设计与表达的正确性、实现的正确性以及运行的正确性的验证中,任何一个环节发生了问题都可能在软件测试中表现出来。

在这部分中,我个人确保每个阶段功能的实现,在系统完成后,每个分支都走过一遍,也有发现的问题,但都通过查阅资料将其解决了。

性能测试

测量Web服务器的性能是一项让人感到畏缩的任务,它不像一些简单的任务,如测量CPU的速率或者是测量程序占用CPU的比例,Web服务器的性能优化中包括调整许多变量来达到目标。许多的测量策略中都包含了一个看似简单的浏览,实际上是在向服务器发送大量的请求,这称之为客户端的程序,它用来测量响应时间。常见的问题有如下几个:

客户端和服务器端是否在同一台机器上。

服务器在测试的时候是否还运行着其他的程序。

客户端和服务器端的通信是通过局域网(100baseT、10baseT)还是使用调制解调器。

客户端是否一直重复请求相同的页面,还是随机地访问不同的页面。

客户端发送请求是有规律的还是突发的。

是在最终的配置环境下运行服务的,还是在调试的配置环境下运行服务的。

客户端的请求中包含图片还是只有HTML页面。

所有这些都是要关心的问题,并且几乎不可能精确地把所有的问题都列出来。

基于以上的要求,最合适的测试方法无非是通过一定的访问量来实现,但是这样的工作谈何容易,这种思路的测试就是压力测试。俗话说:“工欲善其事,必先利其器”,压力测试只有借助于一些工具才可得以实施。大多数Web压力测试工具的实现原理都是通过重复的大量页面请求来模拟多用户对被测系统的并发访问,以此达到产生压力的目的。产生压力的手段都是通过录制或者是编写压力脚本,这些脚本以多个进程或者线程的形式在客户端运行,这样通过人为制造各种类型的压力,可以观察被测系统在各种压力状况下的表现,从而定位系统瓶颈,作为系统调优的基础。目前已经存在的性能測试工具林林总总,数量不下一百种,从单一的开放源码的免费小工具,如Apache自带的Web性能测试工具(Apache Benchmark、开源的JMeter)到大而全的商业性能测试软件,如Mercury的LoadRunner、Siege等。

系统测试分为功能测试和性能测试两部分。为了验证本系统的各项功能是否满足设计要求,是否符合用户需求,是否存在错误;本文分别做了功能测试和性能测试。

测试环境

为了保证呈现给终端用户的界面一致性,功能测试环境选用了IE浏览器、火狐浏览器、谷歌浏览器、遨游浏览器、搜狗浏览器。性能测试主要使用自动化测试工具Load Runner进行测试。

测试环境详细信息见表5-3。

表5-3开放式实习教学管理系统测试环境信息表

(1)功能测试:测试系统实现的功能。

通过使用不同浏览器访问系统网站,进行认证登陆;运行各项管理功能、操作,观察操作后现象、过程、结果,判断是否满足设计要求和用户需求。如出现错误或应用不满足实际需求,则记录相关信息;本轮测试结束后加以修改,修改完毕继续测试,直到所有功能测试通过后才可最终结束测试。

(2)性能测试:测试系统性能指标。

通过Load Runner工具进行测试,得出客观数据。针对系统服务的特点,分析这些数据表达出的信息,确定系统响应时间是否及时、准确;服务器端资源消耗是否合理。服务器端指标包括并发性、吞吐量、内存占用率、数据库服务器CPU占用情况等。如性能指标达不到设计要求,分析出问题具体原因,是系统设计问题还是硬件配置问题,最终改正达到系统要求指标,结束测试。

参考文献:

[1]汤振华.浅谈高等院校素质教育现状(J).高校论坛,2013,1(7):104-108.

[2]侯云霞,于金秀.高校思想政治理论课教学实习与实习教学思考(J).中国特色社会主义研究,2008,2(10):159.

[3]徐威军.高等师范院校开放实习教学管理问题研究(D).东北师范大学,2010:4-5.

作者简介:张  莹(1975-),女,黑龙江人,实验师,工程硕士,研究方向:计算机技术

曲艳梅(1980-),女,黑龙江人,讲师,研究方向:计算机技术