上节课完成了图书馆管理系统的全部功能。
这节课来说明在开发完成之后还要做的很多工作,各种各样的测试,确保系统的稳定性和可靠性。
初始数据准备
将测试环境的数据库的所有表里面的数据清除,但是要保留初始数据。
第一个是员工表里要保留至少一个员工,作为系统管理员账号。然后可以使用这个账号登录后台系统并且创建更多的员工账号。
第二个是图书表里面要保留3个系统用的图书:IC补卡、收押金和退押金。
第三个是相应的库存表里面要保留3个系统用的库存。
数据准备之后,导出一个包含数据库结构和表数据的SQL,用于部署到正式云服务器。
library.sql文件内容如下:
全流程覆盖测试
初始数据准备好了之后,就可以按照接近真实测试案例来进行全流程覆盖测试。
参照之前写的系统测试案例来进行测试,创建多个员工,创建多本图书,创建多个库存,然后创建多个用户,然后测试借书和还书,然后测试补卡功能,测试退卡功能,查询订单确保数据都是按照预期的产生了。
在后台系统测试的同时,打开图书馆公共查询系统,查看不多的状态下的图书库存情况,模拟用户登录查看个人的借阅历史记录情况。
全流程覆盖测试的目的,是确保系统能够按照正常的业务进行运转。如果运行当中发现有业务逻辑漏洞或者使用不顺畅的情况,就需要修改系统设计详细设计数据库设计,然后修改代码实现,并重新测试。
多用户集成测试
单个用户测试的时候,可能难以发现一些问题,因此要找多个人来模拟多个用户使用系统的情况,这样可能发现更多的问题。
因此多人测试是由必要的,主要的目的是发现当多用户同时使用系统的时候,会不会产生系统冲突的情况。
安全权限测试
系统的安全性是很重要的环节,要避免系统设计或者程序编写错误产生的漏洞,防止对系统的数据安全产生不可逆转的损害。
因此需要对系统的安全性进行严格的测试。例如进行SQL注入测试,数据格式错误测试,菜单或页面功能权限测试等等。
大数据量测试
系统的数据量很少和很大,会对系统的运行速度或者效果产生完全不同的影响。任何一个系统,当数据量变得很大到一定程度,都可能产生巨大的不同,也许就会导致完全不同的设计以及开发方式。
一个每天最多100个订单的系统和一个每天最多上千万个订单的系统,很显而易见是完全不一样的设计和开发来实现的。
因此,在系统设计之初就要考虑系统运行当中可能最大的数据量,考虑到大数据量对系统的影响,并通过良好的结构设计来避免大数据量对系统的不良影响。在系统开发完成之后,也要通过大数据量测试来对系统进行验证。
验证的方法可以是通过程序来产生大量的测试数据到系统当中,然后再来运行正常的业务流程,验证大数据量对系统的影响程度。
并发压力测试
当一个系统是一个用户数量巨大的系统,就必须要考虑系统并发访问的情况,要验证大量并发访问对系统的稳定性是否有不良的影响。
这时候就需要对系统做并发压力测试。也就是通过一些压力测试工具程序来模拟大量用户同时访问系统的情况,看看系统是否会不稳定,同时看看系统的软件和硬件负荷是否到达极限,并能够尽量测算出系统的负荷极限值,并可以针对系统的负荷能力做好相应的预案,当系统上线运行之后,如果遇到大量访问的时候,能够有相应的预案来解决系统瓶颈,确保系统能够正常运行。
测试没有止境
测试是一个IT系统非常重要的环节,系统不经过充分的测试,在正式上线之后很可能遇到各种各样的问题,那个时候再来解决就不容易了。因此作为软件工程师,脑子里一定要重视测试。
由于测试技术并不是学哥这个系列教程的重点,因此对于图书馆管理系统的测试,就不做更多的讲解了。