论软件的系统测试及其应用
软件测试是软件交付客户前必须要完成的重要步骤之一,目前仍是发现软件错误(缺陷)的主要手段。系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,针对整个系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。系统测试的主要内容包括功能性测试、健壮性测试、性能测试、用户界面测试、安全性测试、安装与反安装测试等。
请围绕"软件的系统测试及其应用"论题,依次从以下三个方面进行论述。
1.概要叙述你参与管理和开发的软件项目以及你在其中所担任的主要工作。
2.详细论述软件的系统测试的主要活动及其所包含的主要内容,并说明功能性测试和性能测试的主要的目的。
3.结合你具体参与管理和开发的实际项目,概要叙述如何采用软件的系统测试方法进行系统测试,说明具体实施过程以及应用效果。
范例
摘要部分
年月,本公司拟搭建**平台,实现*,主要包括工序母版管理、工序卡实例生成、生产信息管理、产线信息追踪等核心模块。我在该项目中担任系统架构师,主要负责该系统的架构设计工作。本文以卫星产线信息化平台为例,主要讨论了系统测试技术在该项目中的具体应用。通过功能测试确保系统实现了全部的需求功能点及功能的正确性;通过压力测试,确保系统在大面积铺开使用时可以稳定运行;通过并发测试,保障系统在高并发情况下的正常响应。我们通过利用恰当的系统测试技术与工具,使系统测试更加精准可靠,大大提升了系统上线后的稳定性。最终项目研发顺利,系统使用功能性能正常,并获得领导和同事的一致好评。
【注意:实际写作中相关项目情况应介绍清楚,摘要字数(包括标点符号)一般写280到300字】
正文部分
本人就职于公司,本公司主要从事。由于**,经营层决定自研**平台。
项目一期于年 月开始建设,计划用时2年,完成工作。本人有幸担任系统架构师,主要负责该系统的架构设计工作。平台主要包括等核心模块,实现**工作。
由于本项目涉及多个技术部门的核心业务,平台上线后的稳定性将直接影响卫星脉动生产线的生产效率与生产追踪。因此,如何提升系统的稳定性及可靠性,针对拟开发平台的系统测试显得至关重要。系统测试主要以发现软件错误为核心,验证开发软件在各方面是否满足需求。主要内容包括功能测试、性能测试、健壮性测试、用户界面测试、安全性测试、安装和反安装测试等。其中,最重要的工作是进行功能测试和性能测试。功能测试主要采取黑盒测试方式,主要目的是检查功能是否按照SRS的要求正常使用,软件是否能够恰当地接收输入数据并产生正确的输出信息,软件运行过程中能否保持外部信息的完整性。性能测试则主要验证软件系统在承担一定负载的情况下所表现出来的特性是否符合产品设定的需要,主要指标包括响应时间、吞吐量、并发用户数和资源利用率等。性能测试主要目的验证软件系统是否能达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈等问题。
考虑到卫星产线信息化平台的实际使用与部署情况,我主要对系统进行了详细的功能测试以及性能测试中的压力测试、并发测试等几个方面。
一、功能测试
系统功能测试我们主要用以验证开发软件是否覆盖了用户提出的所有功能需求以及功能的正确性。首先,我们根据需求分析文档,对每个功能模块进行了细化分解,建立功能测试用例。例如,工步信息上报模块,按使用角色包括上报人员与确认人员两个角色,我们根据角色划分的具体工作拆开编写测试用例,其中元件拍摄记录、上报信息填写等归属于上报人员角色,逐项确认、验收上报确认等归属于确认人员角色。子模块继续拆分,例如元件拍摄记录可拆分为唤醒相机拍照,系统图像选取、图像判定等具体功能点,再对功能点继续拆分就是每个业务功能中所包含的具体数据输入、保存操作、确定操作等最小功能点。经过这种自上而下的梳理、拆分以及逐项测试,确保功能不缺失。再然后,针对具体的数据输入项,为保证数据输入的合理有效,我们又针对特殊字段进行了等价类划分的用例测试。例如,对器件重量,尺寸,电能等输入项进行了有效类和无效类划分。同时,结合边界值分析方法,通过测试确保了系统输入数据的正确有效。
二、压力测试
压力测试我们主要用于测试系统能正常运行的最大服务级别,评估是否在后续实际环境中能确保服务的稳定性。由于本平台系统管理业务规模较大,并结合公司发展规划,预测短时间内系统使用量会持续大幅增加,因此服务器在高压环境下的运行情况至关重要。为测试服务器是否能够承受住相应压力,我们根据系统部署方案和测试用例,利用LoadRuner测试工具在服务器上进行压力模拟测试,评估压力峰值,并观测记录CPU、内存等在不同压力下的使用情况。为了充分利用服务器的同时又可以保证系统的稳定运行,我们设定CPU和内存到达80%为最高上限,达到最高上限即为可承受的最大压力值。在压力测试后,针对没有达到预计标准的情况,我们首先进行了程序上的优化,提高CPU的使用率和降低对内存的消耗,关于有些优化不了的情况,我们考虑扩充了服务器的相关配置,最后保证了系统压力性能的要求。
三、并发测试
并发测试我们主要用于测试系统可处理的同时在线的最大用户数。产线信息化平台采用B/S架构,前后端服务器统一部署,用户主要采用电脑终端与移动设备(主要以PAD为主)。针对系统在大面积铺开使用后,高并发情况下系统是否能保持稳定、是否能保证响应正常等问题,我们进行了有效的并发测试。针对并发测试,我们编写了详细的测试用例,选取并发场景较多的模块进行了重点测试,例如用户信息校验模块、元件拍摄与判定模块等。我们同样利用LoadRuner软件,采用地毯式的逐渐增加阈值量的方式进行测试,例如,对用户信息校验模块,我们模拟了500、800、1100、1400等不同阈值,测试在不同并发情况下,系统的响应速度情况。如果测试过程中出现问题,我们就针对问题进行调试优化,通过多线程、扩展服务器等方式,满足系统的并发要求,保证了平台的高可用性与用户的使用效果。
通过上述系统测试技术在本项目中的适当应用,我们圆满的完成了项目的测试任务,保障了系统功能与各方面性能达到用户要求。最终项目历时年 个月,于年月初完成验收测试,**月正式投入使用,提前完成研发目标。在系统投入使用后,得益于系统测试较为完备可靠,系统稳定性较强,基本实现了卫星脉动生产线的信息化工作,获得领导和各部门同事的一致好评。
事后复盘整个系统测试过程,发现虽然整体上比较成功,但也存在着一些不足之处。例如关于签字报告生成模块,由于用户在开发过程中提出过需求变更,但在开发团队修改功能后,未再次组织进行详细的响应测试,导致用户在系统上线后实际使用该功能时,发现页面加载时间较长,后重新组织人员对该模块进行测试并优化,使响应时间优于500ms,解决了该问题,最后获得用户的认可。后续再次出现需求变更情况,一定要谨记针对修改后功能再次进行详细测试,避免漏洞的出现。接下来,作为系统分析师,我会总结系统测试技术的重要作用,不断优化测试流程。