刘颖 黑龙江省网络空间研究中心
系统测试的目的是找出系统的隐患和缺陷,弥补系统的不足,确保开发的系统在实际运行时软硬件、网络环境等系统级元素间能够相互配合并正常工作。
系统测试的类型有很多,系统测试除了测试系统的功能外,还会涉及到安全性、可用性、可恢复性等非功能方面的测试。对于每一种类型的测试都有其特定的目的和意义。
系统功能测试属于黑盒测试的范畴。不需要对软件源码进行测试分析,但在系统测试中也可运用白盒测试的思想。如在系统测试中对系统业务路径的分析就是白盒测试思想的应用。系统的业务路径就是将系统不同的模块或不同的子系统相连接起来形成一系列业务路径,执行每一个路径也就测试系统的某项功能。
系统测试需要制定系统测试计划、用例设计、开发测试脚本、测试环境的搭建、测试执行等工作。系统测试需要有完整的监控过程,完成系统测试后,需要提交各种系统测试文档,这些文档包括系统测试报告,缺陷跟踪管理报告等。
下面以某招标系统的测试为例,从功能测试以及非功能测试两个方面对系统进行测试。
2.1.1 登录模块测试
登录测试可以保证系统的安全性,登录测试的目的就是查看使用用户名和密码登陆系统的情况,测试条件:测试相同/不同权限相同级别的用户名和密码登陆系统登录模块测试;使用等价类的方式,分别输入正确的帐号及密码;错误的账号及密码查看是否能顺利登陆系统,使用不同权限不同级别的帐号及密码登陆系统,查看登陆情况;测试结果为:只有输入正确的用户名和密码才能进入系统;用户名密码错误或者为空值,该用户不能进入系统,不能登陆系统情况弹出提示信息。管理员有最高权限,其它不同权限用户有不同的界面。
2.1.2 招标模块测试
物料招采是一套完整的招投标流程,对物料招标流程的功能性测试如表1所示。
表1 货物招标流程功能测试用例
2.2.1 系统压力测试
通过阿里云强大的分布式压测能力,可模拟海量用户真实的业务场景,让应用性能问题无所遁形。云压测数小时即可完成一轮压测,可以节约70%以上的压测时间,APM 监控深入应用代码,快速发现并定位问题,缩短单次迭代时间。通过云技术可以真实的模拟用户全链路访问,压力更真实,很容易复现生产问题。结合后端全方位的技术指标监控,能够快速定位性能瓶颈和错误,降低平均故障修复时间。
初始化设置线程数为30、步调时间为1s、执行次数10000次、执行时长1分钟、施压机1台。压力测试结果如图1所示。
图1 压力测试结果图
2.2.2 系统操作界面测试
系统操作界面操作的可用性、易用性是衡量软件指标的重要因素。测试操作界面中的按钮、表单元素是否按照用例需求目标正确使用是软件测试的必要一环,经过测试系统界面配色方案符合大多数用户审美观,布局规范、数据具有一致性和合理性,弹出窗口、菜单栏、提示图标、按钮、本文框、下拉列表、图像、文字等界面要素使用正常。
2.2.3 安全性测试
系统安全测试是系统测试中最重要的一步,其目的是审核系统是否具有防范外界非法入侵的能力。测试者在测试中从非法入侵者的角度通过各种途径侵入或攻击系统,查看系统是否能被攻破防线。安全测试过程中,通过提前设置测试用例,例如云在线检测、登陆系统帐户密码测试以及服务器安全性测试等。查到系统的安全隐患和漏洞。
[1]楚书来,刘蕴.探析软件测试之系统测试[J].计算机光盘软件与应用.2012(05):208.
[2]宋巍,沈建雄,杨根兴,蔡立志.软件功能测试规模估算模型的研究及其应用[J].计算机工程. 2011(07):2-3.