根据B/S结构的ERP系统的特点,在进行黑盒测试和白盒测试的过程中,除了需要满足系统设计的基本要求外,根据实际开发测试,可以得到以下几点非常重要且容易被忽略的经验:
1. 页面的测试
系统内包含着大量的HTML 代码,不规范的代码会带来安全问题,加之目前市场上浏览器种类繁多,即使同一浏览器也有不同的版本,可以选用页面检查工具来检查HTML语法,还可以使用一些自动化的测试软件来抽取连接地址、框架、CSS等内容。根据测试结果,可以找出一些冗余孤立的页面,然后进行进一步处理。
2. 页面内容和控件的测试
页面内容一般指的是页面上的说明文字、图标等提示客户正确输入的指示内容,这些内容的确认只能人工检测,确保这些提示性的语言文字不会出错。控件一般包括可输入和可选择两种,就是常说的文本框和下拉框。文本框测试比较复杂,包括测试长度(检测能输入的最大长度和最小长度)、类型测试(数字、大小写英文、空格、特殊符号、汉字以及日语中的全半角数据)、格式测试、边界测试等;下拉框的测试则需要保证下拉的内容是否完整,是否涵盖了客户要求的所有可选的项目,以及选择该项目后其他项目是否随之联动。页面测试还需要注意快捷键的测试,如常用的Tab、Enter键,保证在按下此键时选择框会随之迁移。
3. 数据库数据一致性的测试
要保证数据库中数据和画面表示一致,由画面录入的数据能正确地在数据库中呈现,数据库中的数据也能在页面正确地表示,不会出现数据错位、截断、丢失的情况。一般来说,如果表格设计正确数据就会是一致的,最可能出错的情况是开发过程中修改数据库字段长度或页面录入长度时,没有同步修改对应的页面或数据库,这样就会出现多录入的部分数据存不到数据库中,或是从数据库取出的数据不能完整地在页面上表示。还需考虑数据库表的关联性问题,如一个页面输入的项目要同时存放的几个表中,当页面项目变更时,往往会漏掉其中某些表。
4. 数据和单据测试
ERP软件中肯定会涉及到数据的计算,数据运算的精度非常重要,要根据客户的需求合理地设计运算的精度,到最后一位是四舍五入还是截断都要由客户需求的精度来决定。虽然看起来是一个很小的问题,但如果数据量非常大的话,就会造成很大的误差,这些货品入出库或钱财的损失是不可估量的。单据的测试更为复杂,未分配权限的操作者不可以做相应的业务单据,分配权限的才可以做权利允许范围内的操作。单据表头部和表体部显示的问题,表头的位置、大小以及是否和表体相关都需要进行测试,表体的内容是否会出现覆盖挤压在一起的状况、单据表体项目的各种操作和算法测试也是我们需要关注的。控制单据输出的按钮也需要测试其预览、输出、打印的功能,这里需要注意的是输出单据的分页、打印是否正确。尤其要注意的一点是,对于一些已经有表格的打印纸,只需要我们打印进去内容的时候,需要仔细确认打印位置是否正确。单据测试还涉及单据之间关系测试,包括单据之间参照生单测试、单据之间的控制测试及单据联查等。
5. 性能测试
性能是用户对软件产品是否满意的一个重要因素。一般采用的方法是手工测试、在程序中插入代码来计算时间和瓶颈测试。手工测试就是开始运行程序后,通过工具记录开始和结束时间。这种方法工作量比较大,一般适用于较少测试的情况,如进行了SQL优化。插入代码来计算时间,这种方法工作量也比较大,而且本身插入的测试代码可能会影响到程序的性能。瓶颈测试是用得比较多的方法,关键点是找到系统的瓶颈,主要对其进行测试,统计平均的系统响应时间、操作成功率等,还要对瓶颈处进行压力测试来验证系统的可靠性和能够提供的最大的服务限制。
软件的发展使得测试的规模在不断地变大,测试也越来越专业化、产业化。近些年涌现出了大量的自动化的测试软件,大大地提高了测试效率。大部分公司都采用自动化的测试工具,但是自动化的程度都不高,可见自动化的测试工具还只是辅助的工具。对于ERP软件来说,测试正确性要求极高,毕竟自动化测试软件也是软件,其正确性也难以保证,所以对于单据测试还是有针对性地编写自己的测试程序更为准确。相信随着技术的发展,自动化测试离我们并不遥远,测试中繁琐的工具将由测试软件来完成,测试人员只需要指定高效快捷的测试方案即可。