当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:软件测试是软件开发过程中非常重要的一个环节,直接关系着软件的质量。文中阐述了软件各个开发阶段需要进行的测试,并以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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

特朗普集团近日取消了其新推出的T1智能手机“将在美国制造”的宣传标语,此举源于外界对这款手机能否以当前定价在美国本土生产的质疑。

关键字: 特朗普 苹果 AI

美国总统特朗普在公开场合表示,他已要求苹果公司CEO蒂姆·库克停止在印度建厂,矛头直指该公司生产多元化的计划。

关键字: 特朗普 苹果 AI

4月10日消息,据媒体报道,美国总统特朗普宣布,美国对部分贸易伙伴暂停90天执行新关税政策,同时对中国的关税提高到125%,该消息公布后苹果股价飙升了15%。这次反弹使苹果市值增加了4000多亿美元,目前苹果市值接近3万...

关键字: 特朗普 AI 人工智能 特斯拉

3月25日消息,据报道,当地时间3月20日,美国总统特朗普在社交媒体平台“真实社交”上发文写道:“那些被抓到破坏特斯拉的人,将有很大可能被判入狱长达20年,这包括资助(破坏特斯拉汽车)者,我们正在寻找你。”

关键字: 特朗普 AI 人工智能 特斯拉

1月22日消息,刚刚,新任美国总统特朗普放出重磅消息,将全力支持美国AI发展。

关键字: 特朗普 AI 人工智能

特朗普先生有两件事一定会载入史册,一个是筑墙,一个是挖坑。在美墨边境筑墙的口号确保边境安全,降低因非法移民引起的犯罪率过高问题;在中美科技产业之间挖坑的口号也是安全,美国企业不得使用对美国国家安全构成威胁的电信设备,总统...

关键字: 特朗普 孤立主义 科技产业

据路透社1月17日消息显示,知情人士透露,特朗普已通知英特尔、铠侠在内的几家华为供应商,将要撤销其对华为的出货的部分许可证,同时将拒绝其他数十个向华为供货的申请。据透露,共有4家公司的8份许可被撤销。另外,相关公司收到撤...

关键字: 华为 芯片 特朗普

曾在2018年时被美国总统特朗普称作“世界第八奇迹”的富士康集团在美国威斯康星州投资建设的LCD显示屏工厂项目,如今却因为富士康将项目大幅缩水并拒绝签订新的合同而陷入了僵局。这也导致富士康无法从当地政府那里获得约40亿美...

关键字: 特朗普 富士康

今年5月,因自己发布的推文被贴上“无确凿依据”标签而与推特发生激烈争执后,美国总统特朗普签署了一项行政令,下令要求重审《通信规范法》第230条。

关键字: 谷歌 facebook 特朗普

众所周知,寄往白宫的所有邮件在到达白宫之前都会在他地进行分类和筛选。9月19日,根据美国相关执法官员的通报,本周早些时候,执法人员截获了一个寄给特朗普总统的包裹,该包裹内包含蓖麻毒蛋白。

关键字: 美国 白宫 特朗普
关闭