B/S结构ERP管理软件的测试方法研究
扫描二维码
随时随地手机看文章
引言
随着科技的发展和技术的进步,当今社会各个行业的运营和管理都离不开计算机软件。应运而生的问题是如何才能保证软件产品的质量。事实上,软件测试是获得高质量软件产品的重要保证。
1软件测试的概念
软件测试是根据软件开发各个阶段的规格说明和程序内部结构而精心设计的一组测试数据,并利用这些数据运行程序,以发现程序错误的过程。根据测试数据设计方法,软件测试可分为结构测试和功能测试。在结构测试过程中,测试者对程序的语句、分支和逻辑路径进行各种覆盖测试,可以在不同点检查程序的状态,以确定实际状态与预期状态是否一致%
2B/S结构的ERP系统特点和难点
早期的B/S结构Web应用系统使用的技术有限,但随着网络技术的发展,B/S的结构越来越复杂,出现了很多的框架和设计模式。各种技术不断地推陈出新,HTML、ASP、JSP、JavaScript、XML、CSS以及现在使用广泛的Struts、Hibernate,Spring框架[2]„同时,B/S结构的系统规模也在不断地扩大,系统的性能以及安全性也成为B/S结构的主要问题。
ERP管理软件不同于其他的应用软件。它是一个以管理会计为核心的信息系统,用于识别和规划企业资源,从而获取客户订单,完成加工和交付,最后得到客户付款。由于涉及企业的财务、人力资源、采购途径等敏感信息,所以,ERP软件对精确性和安全性要求都很高。
鉴于B/S结构和ERP管理软件的特点,应用对基于B/S结构的ERP系统提出了很高的要求。由于互联网的不安全性和ERP系统的高安全性相悖,所以基于B/S结构的ERP系统应该采用安全超文本传输协议(HTTPS)。实际上,HTTPS就是应用了Netscape的完全套接字层(SSL)作为HTTP应用层的子层。SSL使用40位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。B/S结构的系统对程序的健壮性也有很高要求,当互联网爬虫软件截获数据或者修改数据时,一般都要求程序应该能及时地做出反应。
3软件测试
软件开发的每个阶段都需要测试,根据行业的需求来判定需要在哪个阶段开始测试。对于ERP这种行业应用软件来说,尽可能早测试对以后实际开发有很大帮助。在学习和概念阶段就应该开始进行自我测试,这个阶段的测试没有明确的测试标准,需要做的是了解该行业的知识、专业术语、基本业务流程。要多方面考察验证,来增加自己对该行业的了解程度。这就是一个简单的测试过程。
需求分析阶段的测试比学习和概念阶段测试更为重要。学习阶段只是学习该领域的知识,是主动性地获取知识的过程。而需求分析阶段则需要和客户讨论商量,客户要求实现符合自己公司业务的功能,具有特殊性,有些普遍性的复杂浪费资源的功能可能还会去掉。因此,与客户的交流沟通非常重要,这一阶段必须反复进行测试,多与客户沟通。由于语言的歧义性可能就会对软件带来致命的影响,因此为保证客户所提功能都能被实现,要把所理解的客户需求的功能文档化,再提交给客户进行修正。对于需要量化的功能和结构,应该给出具体的数字。经过几次如此反复的修正测试,功能需求大致就可以达到客户的预期了。
开发期包括系统设计阶段以及系统实现阶段,这一阶段的测试至关重要,直接关系到软件产品的成败。系统设计必须是有经验的项目带头人,对系统结构和功能非常清楚,必须完成客户需要的每个功能,以及协调功能的实现部分。这部分需要反复对照需求分析,如遇到不清楚的问题,必须重新联系客户确认,这也是一种测试过程。当系统经过编码阶段之后,就需要大规模的测试来验证客户的一系列需求。测试用到的主要方法是黑盒测试和白盒测试。
黑盒测试就是把系统看成一个黑盒,从外界取得输入,然后再输出。整个测试过程根据需求文档,看程序是否实现了需求文档中所要求的功能。黑盒测试比较简单,测试者不需要关注程序内部的具体实现,主要适用于对系统功能进行测试[3'4]o
黑盒测试的优点:一是简单易懂,不需要了解程序内部的代码及实现;二是与软件内部实现无关;三是从用户的角度出发,能够很容易知道用户会用到哪些功能,会遇到哪些问题;四是基于软件开发的需求文档,其测试功能需求很准确;五是实现软件自动化测试较为方便。黑盒测试的缺点主要是不能覆盖所有的代码,大概只能达到总代码量的30%;另外就是自动化测试的复用性较低叫
白盒测试则是按照程序实现的代码来测试代码实现的功能。白盒测试常用的测试方法有语句覆盖、分支覆盖、条件覆盖、路径覆盖,还有一些其他基于结构的测试技术等。
白盒测试的直接好处是能知道所涉及的测试用例在代码级上哪些地方可以被忽略掉,它的优点是帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。但是,白盒测试也有一些缺点:首先是程序运行会有很多不同的路径,不可能测试所有的运行路径;其二是测试基于代码,只能测试开发人员做得对不对,而不能知道设计得正确与否,因而可能会漏掉一些功能需求;其三是在系统比较庞大时,测试开销会非常大。
根据B/S结构的ERP系统的特点,在进行黑盒测试和白盒测试的过程中,除了需要满足系统设计的基本要求外,根据实际开发测试,可以得到以下几点非常重要且容易被忽略的经验:
3.1页面的测试
系统内包含着大量的HTML代码,不规范的代码会带来安全问题,加之目前市场上浏览器种类繁多,即使同一浏览器也有不同的版本,可以选用页面检查工具来检查HTML语法,还可以使用一些自动化的测试软件来抽取连接地址、框架、CSS等内容。根据测试结果,可以找出一些冗余孤立的页面,然后进行进一步处理。
3.2页面内容和控件的测试
页面内容一般指的是页面上的说明文字、图标等提示客户正确输入的指示内容,这些内容的确认只能人工检测,确保这些提示性的语言文字不会出错。控件一般包括可输入和可选择两种,就是常说的文本框和下拉框。文本框测试比较复杂,包括测试长度(检测能输入的最大长度和最小长度)、类型测试(数字、大小写英文、空格、特殊符号、汉字以及日语中的全半角数据)、格式测试、边界测试等;下拉框的测试则需要保证下拉的内容是否完整,是否涵盖了客户要求的所有可选的项目,以及选择该项目后其他项目是否随之联动。页面测试还需要注意快捷键的测试,如常用的Tab、Enter键,保证在按下此键时选择框会随之迁移。
3.3数据库数据一致性的测试
要保证数据库中数据和画面表示一致,由画面录入的数据能正确地在数据库中呈现,数据库中的数据也能在页面正确地表示,不会出现数据错位、截断、丢失的情况。一般来说,如果表格设计正确数据就会是一致的,最可能出错的情况是开发过程中修改数据库字段长度或页面录入长度时,没有同步修改对应的页面或数据库,这样就会出现多录入的部分数据存不到数据库中,或是从数据库取出的数据不能完整地在页面上表示。还需考虑数据库表的关联性问题,如一个页面输入的项目要同时存放的几个表中,当页面项目变更时,往往会漏掉其中某些表。
3.4数据和单据测试
ERP软件中肯定会涉及到数据的计算,数据运算的精度非常重要,要根据客户的需求合理地设计运算的精度,到最后一位是四舍五入还是截断都要由客户需求的精度来决定。虽然看起来是一个很小的问题,但如果数据量非常大的话,就会造成很大的误差,这些货品入出库或钱财的损失是不可估量的。单据的测试更为复杂,未分配权限的操作者不可以做相应的业务单据,分配权限的才可以做权利允许范围内的操作。单据表头部和表体部显示的问题,表头的位置、大小以及是否和表体相关都需要进行测试,表体的内容是否会出现覆盖挤压在一起的状况、单据表体项目的各种操作和算法测试也是我们需要关注的。控制单据输出的按钮也需要测试其预览、输出、打印的功能,这里需要注意的是输出单据的分页、打印是否正确。尤其要注意的一点是,对于一些已经有表格的打印纸,只需要我们打印进去内容的时候,需要仔细确认打印位置是否正确。单据测试还涉及单据之间关系测试,包括单据之间参照生单测试、单据之间的控制测试及单据联查等。
3.5,性能测试
性能是用户对软件产品是否满意的一个重要因素。一般采用的方法是手工测试、在程序中插入代码来计算时间和瓶颈测试。手工测试就是开始运行程序后,通过工具记录开始和结束时间。这种方法工作量比较大,一般适用于较少测试的情况,如进行了SQL优化。插入代码来计算时间,这种方法工作量也比较大,而且本身插入的测试代码可能会影响到程序的性能。瓶颈测试是用得比较多的方法,关键点是找到系统的瓶颈,主要对其进行测试,统计平均的系统响应时间、操作成功率等,还要对瓶颈处进行压力测试来验证系统的可靠性和能够提供的最大的服务限制。
软件维护时期的测试显得格外重要,往往是客户使用了软件一段时间后觉得和其需要的功能有所区别,要求提出修改。这些修改往往是小修改,不会影响软件的主要功能。因此,当修改了一部分代码的时候要求不影响系统的主要功能,简单来说是修改少、测试多。这跟程序的健壮性有很大的关系,如果系统设计比较规范,维护起来也比较容易。这一阶段重点是和客户沟通好,确保在最少的改动的情况下能满足客户的要求,然后分析修改的代码可能影响到的功能,主要进行修正点测试以及正常系测试,需要比较一些单据,可以使用VBA编程来进行测试。尤其要注意的问题是,管理好每次修正的版本,以便下一次修正时使用。
4结语
软件的发展使得测试的规模在不断地变大,测试也越来越专业化、产业化。近些年涌现出了大量的自动化的测试软件,大大地提高了测试效率。大部分公司都采用自动化的测试工具,但是自动化的程度都不高,可见自动化的测试工具还只是辅助的工具。对于ERP软件来说,测试正确性要求极高,毕竟自动化测试软件也是软件,其正确性也难以保证,所以对于单据测试还是有针对性地编写自己的测试程序更为准确。相信随着技术的发展,自动化测试离我们并不遥远,测试中繁琐的工具将由测试软件来完成,测试人员只需要指定高效快捷的测试方案即可。
20211019_616eca34116a2__B