软硬件测试方案

余年寄山水
667次浏览
2021年02月13日 08:00
最佳经验
本文由作者推荐

-

2021年2月13日发(作者:广野君)


1.1.1



软硬件测试方案



1.1.1.1



测试目的和要求



1.1.1.1.1



测试目的



作为软件开发的重要环节,


软件测试越来越受到人们的重视,



件 测试是软件工程过程的一个重要阶段,


是在软件投入运行前,


对 软


件需求分析、


设计和编码各阶段产品的最终检查,

< p>
是为了保证软件的


正确性、


完全性和一致性,


从而检测软件错误、


修正软件错误的过程。


随着软件开发规模的增大、


复杂程度的增加,


以寻找软件中的错 误为


目的的测试工作就显得更加困难,


因此要求测试计划和测试 管理更加


完备。


本次测试安排在项目进行编码过程中和编码完成 后进行,


测试


的内容包括系统界面风格、


主要功能、


容错能力、


模块间的关联等等,

< br>依据正规步骤完成单元测试、边缘测试、整体测试。通过测试,及时


发现存在于程 序中的错误并根据测试结果对程序进行修改,


从而确保


提交给用 户的程序是经过检验并能顺利运行的。



1.1.1.1.2



测试的总体要求



软件测试可运用多种 不同的测试策略来实现,


最常用的方式是自


底向上分阶段进行,


对不同开发阶段的产品采用不同的测试方法进行


检测,从测试开 始,然后进行功能测试,最终进行系统测试。




尽早地和不断地进行软件测试。




保证系统风格与界面统一。




保证各系统联接正确,数据传送正常。




抽检程序的内部编写情况无误。




测试用例应由测试输入数据和对应的预期输出结果两部分组< /p>


成。




程序员应避免负责测试自己编写的程序。




测试用例,应当包括合理和不合理的输入条件。




应当检查程序是否有不希望的副作用。




程序流程和接口内容绝不可忽视。




充分注意测试中的群体现象。




严格执行测试计划。




对每个测试结果严格检查。




妥善保存文档。




性能测试和功能测试同等重要。



1.1.1.1.3



测试人员及组织分工



参加测试人员包 括技术支持组部分人员、


开发小组全体成员、



保组测试成员和用户人员。组织分工如下:



单元测试 :


由实施组成员在编码过程中,


各自以及交叉进行单元


测试。



集成测试:


由 质保组两名测试成员、


实施组两名成员进行集成测


试。



系统测试:由技术组项目技术负责人、系统设计师、用户人员进


行系统测试。



1.1.1.1.4



软件测试的依据



1.1.1.1.4.1




户文档



软件测试依据的用户文档主要有以下两个:



《需求规格说明书》



《总体设计书》



1.1.1.1.4.2




试技术标准规范



软件测试依据的国家技术标准规范主要有以下八个:



GB/T 17544



1998


《信息系统及软件完整性级别》



GB/T 16260



2006


《软件质量模型与度量》



GB/T 18905



2002


《软件工程产品评价》



GB/T 8567



2006


《计算机软件文档编制规范》



GB/T9386


-


2008


《计算机软件测试文件编制规范》



GB/T 25000.1


-


2010


《软件质量要求与评价(


SQuaRE


)指南》



CSTCJSBZ02


《应用软件产品测试规范》



CSTCJSBZ03


《软件产品测试评分标准》



1.1.1.2



测试方法和主要内容



1.1.1.2.1



软件测试方法



1


、单元测试



测试是在软件开发过程中针对功能模块进行的正确性检验,


执行


测试的人员首先是程序开发者自己在开发过程中的自测试,


其次才是

< br>专业测试人员。


测试的对象是软件设计的最小单位-模块。


测试应对


模块内所有重要的控制路径设计测试用例,


其测试依 据是项目的详细


设计描述。采用的多为白盒测试。



2


、集成测试



将已测试的模块组装进行检测,


对照软件设计检测和排除子系统


或系统结构上的错误。案例采用黑盒测试法。



集成测试的重 点是检测模块接口之间的连接,


发现访问公共数据


结构可能引起 的模块间的干扰,


以及全局数据结构的不一致,


测试系


统或子系统输入输出处理、故障处理和容错等方面的能力。



3


、系统测试



系统测试应该由若干个不同的测试环节组成,


目的是重返运行系


统,


验证系统各部件是否能正常工作并完成所赋予的任务。


其 主要包


括以下方面的测试:



恢复测试:检查系统的容错能力。



安全测试:检查系统对非法侵入的防范能力



强度测试:检查程序对异常情况的抵抗能力。



性能测试:检查系统能否满足性能要求。主要包括响应时间、并


发用户数,


及相应的


CPU



内存、


硬盘等的利用率及网络吞吐量等。



1.1.1.2.2



测试的主要内容



1.1.1.2.2.1




能测试



功 能测试主要采用的是黑盒测试方法,


黑盒测试法制订覆盖


《需< /p>


求规格说明书》和


《总体设计书》中所要求的全部功能点和主要业 务


流程的测试用例,


通过测试用例的执行,

分别对功能点和业务流程进


行测试。



1


、功能测试方法


< br>本次功能测试中采用黑盒测试法,


主要测试用例设计方法包括因

< br>果图分析、等价类划分、边界值分析、错误推测法:




1


)因果图法:采用因果图法,以委托方提供的《需求规格说明


书》和《总体设计书》为依据设计业务功能点测试案例;




2


)等价类划分法:

对业务流程进行等价类划分,


测试用例应是


业务主流程和流 程主分支的最小集,


所有的判别分支都能被覆盖,


< p>
流程覆盖的同时,完成等价功能的测试;




3


)边界值分析法在功能测试中,


针对功能 说明中的输入输出域,


进行边界值和极限值的设计和测试;


< /p>



4


)错误推测法:

采用逆向思维方式,


结合以往测试经验和直觉


设计软件在功 能和流程上可能存在的各种错误,进行容错性测试。



功能测试策略主要从以下方面考虑:




1


)安装



如果软件安装由用户来进行,


则按照安装手册中的信息应能安装


成功。


产品说明书中,


给出的每个所需 的配置在安装程序时都应具备。


安装之后,程序是否运行应是可以鉴别的。例如,使用测 试用例或通


过相应的信息自检。



(< /p>


2


)数据准备



软件内部应具有一定的数据量供测试使用。


最好由厂商提供符合


规范的测试数据作为数据准备,


也可以由厂商提供数据导入格式,



试方使用该数据导入格式自行制作一定量的数据备测试使用。




3


)功能表现

< br>


在用户文档中提到的所有的功能都应能执行。


程序应按 照用户文


档中的给定形式,


在规定的边界值范围内使用相应的工 具、


资源和数


据执行其功能。




4


)正确性



程序和数据应与产品说明书及用户文档的全部内容相对应。


为完


成工作任务程序功能应以正确的方式执行。


特别是,

< p>
程序和数据应符


合产品说明书涉及的任何需求文档的所有规定。

< p>



5


)一致性



程序和数据其本身内容不能自相矛盾,


并且同产品说明书和用户


文档也不能相互矛盾。


每一术语应处处保持相同的意思。


由用户进行


的程序操作控制和程序的运行表现(例如:信息、屏幕录入 格式和打


印报表)应有相同的结构。




6


)用户界面测试



对用户界面的布局、界面文字、操作步骤、操作方式、快捷方式


进行测试和验证 ,


必要时候通过用户调研或用户测试,


验证用户界面

< p>
是否满足用户要求



2


、业务流程测试方法



业务流程测试主要是在功能测试的基础上,


测试系统完成某项业


务的能力。


业务流程重点考查系统不同模块、


不同子 系统之间的功能


衔接、


数据流向以及完成业务功能的正确性和便 利性。


我们按照以下


原则进行流程测试:



先测功能后测流程:


业务流程测试是建立在功能点测试基础 上的。


首先要保证流程测试涉及到的功能点实现正确,


所以,< /p>


流程测试安排


在功能测试的后面进行。



先测主流程后测分支流程:


主流程就是指按照正常情况实现的业


务流程,分支流程指出现特殊情况后的业务流程。


< p>
先测子系统内的流程后测跨子系统的流程:


子系统内的流程测试

< p>
随子系统的功能测试进行,


在子系统流程测试完成后,

集中人力进行


跨子系统的主流程的联调测试。


< p>
本系统中业务流程测试先针对各子系统各自的主业务流程和分


支流程分别进 行测试,


然后对不同子系统之间的业务流及数据流进行


测试。< /p>



3


、功能覆盖率分析



对每个模块的功能覆盖率进行分析,


首先测试用例对所有的业务


流程、数据流以及核心功能点的覆盖率达到


100


%。 其次,必须满足


用户测试的需求。



4


、测试内容



测试将对以下项目应用系统中的相关功能进行测试。



1.1.1.2.2.2




全性测试



安全性测试采用软件测试当中的黑盒测试方法,


对涉及安全的软


件功能,如:用户管理模块、权限管理模块、加密系统、认证系统等


进行测试,主要是验 证上述功能是否有效。



1.1.1.2.2.3




靠性测试



可靠性是指产品在规定的条件下和规定的时间内完成规定功能


的能力。例如针对某个软件 系统,主要的可靠性测试指标包括:



屏蔽用户操作错误:


考察对用户常见的误操作的提示和屏蔽情


况;



输入数据有效性检查:系统对数据录入的有效性检查;



错误提示的准确性:对用户的错误提示准确程度;


< p>
错误是否导致系统异常退出:


有无操作错误引起系统异常退出


的情况;



异常情况的影响:在程序运行过程中进行 掉电或断网试验,考


察数据和系统的受影响程度,若受损,是否提供补救工具,补救的情


况如何;



数据库备份及恢复测试:系 统是否提供数据备份和恢复手段,


能否进行数据库的备份和恢复。



结合功能测试:对于用户权限限制、用户和密码封闭性、数据


备份与恢复手段、


留痕功能等,


系统安全性的测试可以结合功 能测试


完成,


因为上述功能即是系统安全性考虑,


同时也是系统的功能模块;



留痕功能:系统是否有操作日志,操作日志记录的操作情况的


全面性和准确性,是否 包括主要要素如操作员、操作日期、使用模块


等,是否具有日志查询功能;



采用统一身份认证,


用户能否操作不属于其职权的 其他子系统;



外网能否不经过


CA< /p>


认证就可登录该系统。



可靠性测试除了 包括上述基本项外,


重点的测试内容是数据可靠


性和系统长时间 无故障稳定运行,可通过以下种方法实施:



1


、结合功能测试:


软件可靠性与软件本身的缺陷数量息息相关,


因此结合功能测试寻找软件缺陷,


可以提高软件系统可靠性,

< br>主要是


系统的错误屏蔽、数据校验能力和其他与功能相关的可靠性指标;



2


、模拟测试:通过模拟的手段模拟系统异常 情况的出现,如:


系统死机、系统掉电、网络中断、设备故障等情况,测试系统对于出< /p>


现异常情况的预防和恢复措施。



3


、独立处理能力:


在某系统发生故障时具有能独立运行的能力。



4


、数据可靠性测试:包括数据备份测试 策略、灾难恢复测试、


备份与恢复速度。


5


、长时间无故障稳定运行:日常业务疲劳强度测试就是模拟系

统的日常业务,持续执行“一段时间”


,暴露系统的性能问题,例如


内存泄漏、


资源争用等,


分析与调整的方法与并发性能 测试是非常类


似的。


高峰业务疲劳强度测试就是模拟系统的高峰 业务,


持续执行


“一


段时间”


,这样的负载是对系统的双重考验,既包括负载压力,又包


括长时间。< /p>



1.1.1.2.2.4




能测试



1


、性能测试综述


< br>性能测试方法是在系统真实运行环境,


基于重点事件优先的原则,


设计业务执行效率测试用例,


采用测试脚本回放的方法,


仿真实现事


务的处理过程,


通过在单台或多台测试用机上执行 多线程或多进程实


现多用户并发测试,或者基于批处理模式,加载一定规模的数据量,< /p>


进行系统资源监控测试。



测试包括执行效率、设备效率、网络效率。


< br>(


1


)执行效率测试主要是测试在特定应用的业务逻辑、


用户界面、


功能下系统能够承受的用户并发的数量和响应时间。


上述测试可通过


自动化的测试工具录制具有一定代表意义的典型 操作,


并进行测试脚


本编译即可形成确定的测试案例,


然后通过压力测试工具,


模拟多用


户同时循环进 行这些业务操作,测试服务器事务处理平均响应时间、


服务器


9 0


%的事务处理平均响应时间、事务处理速率等相关参数,


考察 系统在各种情况下的性能表现。


在具体测试过程中需要结合功能


测试制定相应的测试案例,包括以下内容:



测试脚本:


选择影响系统执行效率的功能模块,


录制典型的业务

< br>流程脚本作为执行效率测试的基础案例。


测试脚本的制定方法,

< br>可以


利用测试工具的“录制”功能录制相应的测试脚本,也可以通过脚本


编程语言进行脚本的编写;



并发用户数量:< /p>


分为负载测试和压力测试,


负载测试是指系统能

< br>够承受的正常用户并发数量;


压力测试是指系统能够承受的最大用户


并发数量;



并发方式:


主 要指用户并发过程中与真实情况相似程度,


包括并


发用户数量变 化的方式、


并发过程使用的真实客户端数量、


对于并发


峰值的模拟等。




2


)设备效率主要指系统


CPU


占用率、 内存占用率、磁盘占用

-


-


-


-


-


-


-


-