大型软件具有涉及子模块繁多、建设过程复杂、功能全面、性能具有较高要求的特点。依据ISO/IEC 9126软件产品评估标准,需要对软件的功能性、可靠性、可用性、效率、可维护性、可移植性等方面进行评估。因此,需要有一种方法能够对大型软件进行测试,保障其软件质量。

本论文针对大型软件功能模块多、流程复杂、性能要求高的特点,总结了一种测试方法,该方法主要由功能测试和性能测试方法组成。功能测试方法由功能测试流程和功能测试用例设计方法组成,其中功能测试用例设计方法采用以等价类划分方法为主,多种其他黑盒方法为辅助的方法。性能测试方法由性能测试流程、测试工具选择、性能测试指标设计和性能调优方法组成。实践表明,该测试方法具有良好的效果,能够达到大型软件进行功能和性能把关的目的。

1 大型软件的功能测试

某大型软件在企业统一的电网设备和客户信息模型、基础资料和拓扑关系的基础上,基于GIS的标准化、一体化企业级信息平台,应用于供电可靠性管理、客户停电管理、线损四分管理、业扩报装辅助决策及配网建设规划等领域。具有涉及子模块繁多、建设过程复杂、功能全面的特点,需对其进行功能测试。

1.1 功能测试流程

功能测试目的是测试产品是否达到了合同技术协议书规定的功能。其流程如图1所示。

1.2 功能测试测试用例设计

业务测试用例由10项内容组成:(1)用例ID,(2)用例名称,(3)测试目的,(4)测试级别,(5)参考信息,(6)测试环境,(7)前提条件,(8)测试步骤,(9)预期结果,(10)设计人员。业务测试用例的方法有包括等价类划分方法、边界值分析方法、错误推测方法、因果图方法、判定表驱动分析方法、正交实验设计方法、功能图分析方法和场景设计方法等,各种方法可以相互补充[2]。

在本文中,对一个模块依据逻辑功能不同将其细分,并分别设计测试用例,主要采用等价类划分方法来设计测试用例[3-4]。同时采用边界值分析方法、错误推测方法、因果图方法等在测试过程中进行辅助,辅助测试人员可以用较少的用例发现尽可能多的错误和缺陷。对某大型软件的所有模块均采取这种测试用例设计方法,其中某功能模块的功能细分列表如表1所示。

某功能模块的一个具体业务测试用例(运行数据查询)如表2所示。

2 大型软件的性能测试

2.1 性能测试流程

性能测试需要验证产品是否达到了合同技术协议书规定的性能指标。通过自动化的测试工具模拟多种正常、峰值及异常负载条件来对系统的各项性能指标进行测试。

性能测试可以分为负载测试、压力测试、配置测试、容量测试、基准测试和并发测试等[5]。本文主要通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。测试时监控系统的各项性能指标,以便为性能调优提供支持。性能测试流程图如图2所示。

2.2 测试工具选择

性能测试的工具种类很多,简单划分为以下几种:负载压力测试工具、资源监控工具、故障定位工具以及调优工具。QA Load、SilkPerformer、LoadRunner、WebRunner都是主流的负载性能测试工具。本文采用LoadRunner作为测试工具,它也可以作为监控工具直接从中间件、数据库以及主机自身提供的性能数据采集接口获取性能指标,在负载压力测试的同时对业务系统所处的测试环境进行监控。

2.3 性能测试指标

性能指标包括应用性能、主机性能、网络性能、多任务性能、可靠性、可用性、易用性、易学性、负载均衡等性能指标[6]。

本文的合同技术协议书主要考察系统的功能模块在某测试点下的最大并发数和响应时间指标。测试时、对服务器的CPU使用率、CPU等待队列、磁盘传输率(Mb/s)、内存页交换率(页/s)、网络传输率(包/s)等指标进行监控,编制服务器资源占用情况表,格式如表3所示。

对大型软件的所有模块均考察测试点的最大并发数和响应时间指标,其中某子系统的性能测试表如表4所示。

2.4 性能调优

性能测试调优是为了改善系统某些方面的性能,而对系统软件或硬件进行的修改,它与负载测试是性能测试的两个核心内容,它们是多次交替进行的。

收集完以上必要的信息后,即确定调优的具体目标,如:(1)提高系统吞吐量;(2)缩短响应时间;(3)更好地支持并发;(4)提高硬件配置(如CPU、内存、硬盘、网络等)。

调优完成后,再次进行负载测试,确定调优后的系统性能指标是否达到合同技术协议书的要求。若仍未达到,则需要再次进行调优,并让开发方也改进程序。

实践证明,这种功能测试与性能测试方法能够有效地验证多个厂商的产品是否达到了合同技术协议书规定的功能和性能指标。性能测试是控制系统性能的有效手段,在软件的能力验证、能力规划、性能调优、缺陷修复等方面都发挥着重要作用。本文总结的功能测试与性能测试方法可以对多模块、有具体性能要求的大型软件进行测试,功能测试具有步骤明确、设计测试用例效率高和执行简单的特点;性能测试具有步骤明确、监控全面和能够进行调优的特点,是一种较好的测试方法。

软件测试的功能测试和性能测试,大型软件的功能测试流程及性能测试流程相关推荐

  1. 软件测试方法进行调优,一种大型软件测试方法

    大型软件具有涉及子模块繁多.建设过程复杂.功能全面.性能具有较高要求的特点.依据ISO/IEC 9126软件产品评估标准[1],需要对软件的功能性.可靠性.可用性.效率.可维护性.可移植性等方面进行评 ...

  2. 功能测试,接口测试,自动化测试,压力测试,性能测试,渗透测试,安全测试,具体是干嘛的?

    软件测试是一个广义的概念,他包括了多领域的测试内容,比如,很多新手可能都听说:功能测试,接口测试,自动化测试,压力测试,性能测试,渗透测试,安全测试等,这些专业名词,但是绝大多数人都对这些名词一知半解 ...

  3. 大型软件外包项目的开发流程

    与中小型软件项目相比,大型软件项目的管理和开发难度更大,需要在开发过程中严格执行软件的项目管理流程,不能有比较明显的问题,有问题也要及时解决.软件项目的开发过程环环相扣,如果在前流程中有明显问题,往往 ...

  4. 软件性能测试重要性,软件性能测试的重要性及策略

    1.2.1 性能测试在 首先,软件性能测试属于软件测试范畴,存在于软件测试的生命周期中.一个软件的生产过程通常遵循V型图,如图1-3所示. 图1-3 软件 在通常的软件生产周期中,先由用户提出用户需求 ...

  5. 一个好的软件测试工程师应该做到这些——多年软件测试人分享成长经历

    --我们在变化中成长.假设你拒绝了变化,那么,你就拒尽了新的美丽和新的机遇. 初始软件测试 "这是一个杯子,主要用来喝水的,它的质量应该如何考量?" 这是在进入上家公司面试时,测试 ...

  6. 大型软件开发中的流程与规范

    对于长生命周期的大型软件,流程和规范十分必要.IT行业作为一个快节奏的行业,不光技术革新快,人员的更替也是很快的,没有严格的规范和流程,几个大版本迭代下来,可能产品的代码就维护不下去了. 估计很多大厂 ...

  7. ERP软件中功能测试的实用方法

    随着软件产业的发展,软件产品的质量控制与质量管理正逐渐成为软件企业生存与发展的核心,软件测试在软件项目实施过程中的重要性日益突出.在软件测试时,必须建立严格的判断基准,也就是判断软件是否存在缺陷的依据 ...

  8. 软件性能测试重要性,软件性能测试的重要性及策略(2)

    试属于系统级测试 从V型图可以看到,性能测试属于系统级测试.那么性能测试是基于单元测试.集成测试.功能测试等都已经完成的基础上,站在用户的角度去测试整个系统的.这包含两个含义: 第一,性能测试是&qu ...

  9. 软件性能测试重要性,软件性能测试的重要性及策略-2

    1.2.2 性能测试策略揭秘51Testing软件测试网2FUV"c+BP3F [ q 51Testing软件测试网h3@'h C5A]1|.\ n1ta;C/X0谈到"策略&qu ...

  10. 如何设计软件性能测试方案,软件性能测试怎么做?有哪些步骤?

    性能测试与普遍的功能测试目标不同,因此其测试流程与普通的测试流程也不相同,虽然性能测试也是遵循测试需求分析--测试计划制订--测试用例设计--测试执行--编写测试报告的基本过程,但在实现细节上,性能测 ...

最新文章

  1. Java 7之基础 - 强引用、弱引用、软引用、虚引用
  2. 对象的软、弱、和虚引用
  3. 【转】VTK + QT + VS 编译安装配置
  4. codeforces 231A-C语言解题报告
  5. 2021年高考成绩查询山东德洲,2021年德州高考状元是谁分数多少分,历年德州高考状元名单...
  6. OpenCV人脸识别之三:识别自己的脸
  7. java类声明语句_Java面向对象编程-类的声明周期
  8. 有关 !DOCTYPE HTML
  9. Quick 3.3 的代码资源加密
  10. python脚本案例
  11. C# Tostring() 格式大全
  12. 由《炮灰模型——女生选择追求者模型》到“微软钻石题”
  13. ORA-01017: invalid username/password; logon denied
  14. Sublime快捷键 PyV8的下载与安装
  15. 计算机桌面上的照片转pdf免费,电脑上怎样快速将图片转PDF
  16. Origin科研绘图实战
  17. 磨刀不误砍柴工(一)-高效的第一步
  18. 连AI都在看《英雄联盟》游戏直播
  19. 8-3 实现分数类中的运算符重载
  20. 英语不好,能学好计算机吗?

热门文章

  1. 技能大赛训练题:交换机虚拟化练习
  2. vue高拍仪拍照后上传服务器回显到Upload(记录)
  3. 简单C语言程序的编写,c语言编写简单程序.doc
  4. itext 生成 PDF(一)
  5. 计算机实验室安全员责任书,实验室安全目标责任书
  6. k近邻算法_K近邻算法(一)
  7. 创建Django项目
  8. st8s003 c语言编译器,STM8S系列单片机stm8s003f3p6性能介绍
  9. 计算机运维需要那些知识,运维必知必备!73页计算机基础知识,新手小白也能轻松读懂...
  10. CAD:计算三角形的外接圆圆心