广州广日电气设备有限公司511447
摘要:本文主要讨论了软件测试中的功能测试方法,及其在软件系统中的应用。相应的着重分析了功能测试在软件用户测试中的应用,并以某企业关键业务的评估管理系统为例进行了说明。由此得出结论,软件测试的基本方法为用户测试提出了较好的方案建议,完全可以应用于软件用户测试中,只需注意用户测试的自身特点。
关键词:功能测试;软件测试;应用
前言:软件测试是一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程,而不能证明软件完全没有缺陷。软件测试可分为黑盒测试和白盒测试,他们的主要区别在于是否关注于软件的内部结构。这两种测试方法从不同的角度出发,反映了软件的不同侧面,也适用于不同的开发环境。黑盒测试常用于功能测试,白盒测试常用于性能测试。由于黑盒测试不涉及内部设计和代码,通过较好的组织、计划与设计同样可以运用到软件的用户测试中。
一、功能测试介绍
软件测试中的功能测试也叫黑盒测试,只测试应用程序的功能,而不考虑其内部结构或运作。测试者只需要输入特定的数据,得到预期的输出,且输入输出、操作过程均满足系统的功能需求即可。功能测试是数据驱动的测试,它不基于内部设计和代码,而是基于系统的需求和功能,针对软件界面和功能进行测试。
功能测试主要是为了发现以下几类错误:是否有不正确或遗漏了的功能;在接口上,输入能否正确地接受,能否输出正确的结果;是否有数据结构错误或外部信息(例如数据文件)访问错误;性能上是否能够满足要求;是否有初始化或终止性错误。为了节省时间和资源,提高测试效率,功能测试的测试方法主要有等价类划分、边值分析、因果图、错误推测等。采用这样的方法才能高效地发现软件中隐藏的错误和缺陷。
二、功能测试在应用系统中的应用
当应用系统通过单元测试、集成测试、系统测试和验收测试后,系统基本满足了开发的要求,经验收后方可交付使用。
2.1测试的方法和应用
2.1.1单元测试的策略,是把白盒测试与黑盒测试结合使用。先根据黑盒测试的测试方法提出一组基本的测试用例,然后用白盒测试方法作为验证。先根据白盒测试方法分析模块的逻辑结构,提出一批测试用例,然后根据模块的功能用黑盒测试进行补充。
2.1.2集成测试及其后的测试阶段一般采用黑盒测试。用边界值分析法或等价类分析法提出基本的测试用例。用猜测法补充新的测试用例。如果系统中含有复合的输入条件,则应先使用因果图发,再按前两步进行。
2.2测试人员的组织
软件测试应贯穿于系统设计与开发的整个过程,因此在软件测试不同段也应组织相应的测试人员。在需求分析阶段:系统分析人员,系统设计人员,开发人员,测试人员和用户。在设计评审阶段:系统分析员,软件设计人员,测试负责人等。编码和单元测试阶段:系统开发人员进行内部的交叉测试。综合测试阶段:具有一定的分析、设计和开发经验的专业人员。
2.3软件测试的文档
测试分析报告,是对测试结果的分析和说明。经过测试后,证实了软件具有的能力,以及它的缺陷和限制,并给出评价的结论性意见,这些意见既是对软件质量的评价,又是决定该软件是否交付用户使用的依据。
三、功能测试在软件测试中应用
3.1特点及目的
软件的用户测试是基于所开发的应用系统,根据具体的业务需求,对组织结构,工作流程,角色权限,业务数据和报表等方面,从用户的角度出发对系统进行再测试,是使软件更加成熟必须经历的过程成。对用户来说,在进行用户测试时,软件本身只是个黑匣子。开发者只需为用户提供满足需求的用户界面,对于软件的核心技术是保密的。对于用户只需关注输入了什么和得到了什么,不必了解系统的工作过程。因此,对于软件的用户测试和验收,用户的主要的测试方法就是功能测试即黑盒测试方法。软件用户测试目的同软件测试的目的是一致的,即测试软件的功能是否满足用户的需要。
3.2方法及步骤
用户面对着黑匣子进行测试,由于受制于软件原有的功能,无法按照自己的意愿随意订制软件功能,测试的目的和要求同测试人员有所不同。但软件测试的方法还是可以借鉴的。对于测试的过程设计、计划编制,样例设计、测试文档的编写、组织等都可以参照软件测试的原理来设计。对于人员的要求,同样可对照测试人员的标准。因此,从以上分析来看,结合软件用户测试的特点和目的,其过程至少包括:编制测试计划、设计测试样例、编写测试文档、组织测试人员。一个成功的软件用户测试要求具备强有力的组织,完备详尽的测试计划,完备的测试样例体系,周详的测试文档。在历年的某企业主要业务评估及管理系统的实施过程中,系统在交付使用前都会组织一定规模针对用户的客户化测试,下面结合该系统的实例来介绍如何实施软件的客户化测试。
3.2.1强有力的组织。组织成员应当包括:行政技术领导、系统开发及测试人员、关键用户。对于该业务评估及管理系统,该公司业务办公室的行政技术领导在软件用户测试中,统一管理和掌控测试工作,并在具体的工作节点把关。我公司作为系统实施方,在客户化测试中配备了开发人员和测试人员。这样就具备了即了解客户化的全过程,又熟悉业务流程。设计的测试用例结合了用户在实际工作中的业务特点和软件系统开发中的技术特点。在关键用户方面。根据该公司的组织结构,分为上级总公司及下属四家分公司共五个组。每组配备了负责相关业务三条线及经济评价的四名关键用户。关键用户是用户测试的重要成员,决定了测试工作是否成功。通过关键用户介绍工作流程及提供的数据,才能设计出与系统实际应用相符合的测试用例,也只有这样才能做到发现问题解决问题。当然我们的关键用户都是高素质的,具备一定的计算机方面的基础知识,保证了测试工作顺利进行。
3.2.2测试计划。测试计划就是对测试的工作范围和具体的测试工作步骤进行规划。完备的测试计划,就是要计划的详细、可操作,对关键用户的测试工作能够起到指导的作用,这样用户测试工作才能顺利进行。在该业务系统的关键用户测试前,我们不但制订了完备详尽的测试计划,也设计了应对出现问题的解决方法,并从硬件、软件方面对测试工作进行了保障。
3.2.3测试样例体系。测试样例设计的好坏决定了整个测试工作的成功与否。影响测试样例设计的因素很多,首先设计人员对系统的功能尽可能全面了解;其次设计人员对用户需求全面把握;第三设计满足测试需要能够到达测试目标的样例。另外测试样例应为一个完备的体系。体系有清晰的层次结构,与系统的功能结构相对应。这样使测试样例有条理,便于关键用户测试。在某企业主要业务评估及管理系统的关键用户测试中,测试用例按系统功能的体系结构设计,依据相关业务的三条线、系统管理、经济评价、ORGE、电子文档、领导查询等进行分类。每一类根据用户需求设计测试用例的功能点,例如:自动计算功能、提醒功能、审核方式一致、采用国家标准的参数单位、Excel导出功能等。
3.2.4详细的测试文档。通过软件客户化测试,对关键用户的提出的调整问题及建议进行收集整理,如:界面设置、增加表格内项目等。并参照用户提出的对系统的整体印象,如:可提高系统性能进行服务器扩容,形成最终的测试文档。对发现的系统缺陷进行及时完善。
结论
基于现代化软件开发规律,软件在其生命周期中会频繁地被修改和不断推出新的版本,修改后的或者新版本的软件会添加一些新的功能或者在软件功能上产生某些变化。随着软件的不断完善,软件的某些功能发生了演变,原有的测试功能可能会失去针对性和有效性,而另一些测试功能可能会变得过时,还有一些测试功能将完全不能运行。为了保证测试功能库中测试功能的有效性,还需要对测试功能进行维护。同时,被修改的或新增添的软件功能,仅仅通过重新运行以前的测试功能并不足以揭示其中的问题,有必要增加新的测试功能来测试这些新的功能或特征。因此,测试功能的维护工作还应包括开发新测试功能,这些新的测试功能用来软件测试的新特征或者覆盖现有测试功能无法覆盖的软件功能或特征。
参考文献:
[1]朱少明.软件测试方法和技术.北京:清华大学出版社.2010.5
[2]郑人杰.计算机软件测试技术.北京:清华大学出版社.2012.9
[3]BlackR.测试流程管理.北京:北京大学出版社.2011.3