软硬件测试方案docx.docx
《软硬件测试方案docx.docx》由会员分享,可在线阅读,更多相关《软硬件测试方案docx.docx(17页珍藏版)》请在冰豆网上搜索。
![软硬件测试方案docx.docx](https://file1.bdocx.com/fileroot1/2023-4/21/4ff1e569-7b0d-484b-a4f6-d62a51f4b7ad/4ff1e569-7b0d-484b-a4f6-d62a51f4b7ad1.gif)
软硬件测试方案docx
一.1.1软硬件测试方案
一.1.1.1测试目的和要求
一.1.1.1.1测试目的
作为软件开发的重要环节,软件测试越来越受到人们的重视,软件测试是软件工程过程的一个重要阶段,是在软件投入运行前,对软件需求分析、设计和编码各阶段产品的最终检查,是为了保证软件的正确性、完全性和一致性,从而检测软件错误、修正软件错误的过程。
随着软件开发规模的增大、复杂程度的增加,以寻找软件中的错误为目的的测试工作就显得更加困难,因此要求测试计划和测试管理更加完备。
本次测试安排在项目进行编码过程中和编码完成后进行,测试的内容包括系统界面风格、主要功能、容错能力、模块间的关联等等,依据正规步骤完成单元测试、边缘测试、整体测试。
通过测试,及时发现存在于程序中的错误并根据测试结果对程序进行修改,从而确保提交给用户的程序是经过检验并能顺利运行的。
一.1.1.1.2测试的总体要求
软件测试可运用多种不同的测试策略来实现,最常用的方式是自底向上分阶段进行,对不同开发阶段的产品采用不同的测试方法进行检测,从测试开始,然后进行功能测试,最终进行系统测试。
尽早地和不断地进行软件测试。
保证系统风格与界面统一。
保证各系统联接正确,数据传送正常。
抽检程序的内部编写情况无误。
测试用例应由测试输入数据和对应的预期输出结果两部分组成。
程序员应避免负责测试自己编写的程序。
测试用例,应当包括合理和不合理的输入条件。
应当检查程序是否有不希望的副作用。
程序流程和接口内容绝不可忽视。
充分注意测试中的群体现象。
严格执行测试计划。
对每个测试结果严格检查。
妥善保存文档。
性能测试和功能测试同等重要。
一.1.1.1.3测试人员及组织分工
参加测试人员包括技术支持组部分人员、开发小组全体成员、质保组测试成员和用户人员。
组织分工如下:
单元测试:
由实施组成员在编码过程中,各自以及交叉进行单元测试。
集成测试:
由质保组两名测试成员、实施组两名成员进行集成测试。
系统测试:
由技术组项目技术负责人、系统设计师、用户人员进行系统测试。
一.1.1.1.4软件测试的依据
一.1.1.1.4.1用户文档
软件测试依据的用户文档主要有以下两个:
《需求规格说明书》
《总体设计书》
一.1.1.1.4.2测试技术标准规范
软件测试依据的国家技术标准规范主要有以下八个:
GB/T17544-1998《信息系统及软件完整性级别》
GB/T16260-2006《软件质量模型与度量》
GB/T18905-2002《软件工程产品评价》
GB/T8567-2006《计算机软件文档编制规范》
GB/T9386-2008《计算机软件测试文件编制规范》
GB/T25000.1-2010《软件质量要求与评价(SQuaRE)指南》
CSTCJSBZ02《应用软件产品测试规范》
CSTCJSBZ03《软件产品测试评分标准》
一.1.1.2测试方法和主要内容
一.1.1.2.1软件测试方法
1、单元测试
测试是在软件开发过程中针对功能模块进行的正确性检验,执行测试的人员首先是程序开发者自己在开发过程中的自测试,其次才是专业测试人员。
测试的对象是软件设计的最小单位-模块。
测试应对模块内所有重要的控制路径设计测试用例,其测试依据是项目的详细设计描述。
采用的多为白盒测试。
2、集成测试
将已测试的模块组装进行检测,对照软件设计检测和排除子系统或系统结构上的错误。
案例采用黑盒测试法。
集成测试的重点是检测模块接口之间的连接,发现访问公共数据结构可能引起的模块间的干扰,以及全局数据结构的不一致,测试系统或子系统输入输出处理、故障处理和容错等方面的能力。
3、系统测试
系统测试应该由若干个不同的测试环节组成,目的是重返运行系统,验证系统各部件是否能正常工作并完成所赋予的任务。
其主要包括以下方面的测试:
恢复测试:
检查系统的容错能力。
安全测试:
检查系统对非法侵入的防范能力
强度测试:
检查程序对异常情况的抵抗能力。
性能测试:
检查系统能否满足性能要求。
主要包括响应时间、并发用户数,及相应的CPU、内存、硬盘等的利用率及网络吞吐量等。
一.1.1.2.2测试的主要内容
一.1.1.2.2.1功能测试
功能测试主要采用的是黑盒测试方法,黑盒测试法制订覆盖《需求规格说明书》和《总体设计书》中所要求的全部功能点和主要业务流程的测试用例,通过测试用例的执行,分别对功能点和业务流程进行测试。
1、功能测试方法
本次功能测试中采用黑盒测试法,主要测试用例设计方法包括因果图分析、等价类划分、边界值分析、错误推测法:
(1)因果图法:
采用因果图法,以委托方提供的《需求规格说明书》和《总体设计书》为依据设计业务功能点测试案例;
(2)等价类划分法:
对业务流程进行等价类划分,测试用例应是业务主流程和流程主分支的最小集,所有的判别分支都能被覆盖,在流程覆盖的同时,完成等价功能的测试;
(3)边界值分析法在功能测试中,针对功能说明中的输入输出域,进行边界值和极限值的设计和测试;
(4)错误推测法:
采用逆向思维方式,结合以往测试经验和直觉设计软件在功能和流程上可能存在的各种错误,进行容错性测试。
功能测试策略主要从以下方面考虑:
(1)安装
如果软件安装由用户来进行,则按照安装手册中的信息应能安装成功。
产品说明书中,给出的每个所需的配置在安装程序时都应具备。
安装之后,程序是否运行应是可以鉴别的。
例如,使用测试用例或通过相应的信息自检。
(2)数据准备
软件内部应具有一定的数据量供测试使用。
最好由厂商提供符合规范的测试数据作为数据准备,也可以由厂商提供数据导入格式,测试方使用该数据导入格式自行制作一定量的数据备测试使用。
(3)功能表现
在用户文档中提到的所有的功能都应能执行。
程序应按照用户文档中的给定形式,在规定的边界值范围内使用相应的工具、资源和数据执行其功能。
(4)正确性
程序和数据应与产品说明书及用户文档的全部内容相对应。
为完成工作任务程序功能应以正确的方式执行。
特别是,程序和数据应符合产品说明书涉及的任何需求文档的所有规定。
(5)一致性
程序和数据其本身内容不能自相矛盾,并且同产品说明书和用户文档也不能相互矛盾。
每一术语应处处保持相同的意思。
由用户进行的程序操作控制和程序的运行表现(例如:
信息、屏幕录入格式和打印报表)应有相同的结构。
(6)用户界面测试
对用户界面的布局、界面文字、操作步骤、操作方式、快捷方式进行测试和验证,必要时候通过用户调研或用户测试,验证用户界面是否满足用户要求
2、业务流程测试方法
业务流程测试主要是在功能测试的基础上,测试系统完成某项业务的能力。
业务流程重点考查系统不同模块、不同子系统之间的功能衔接、数据流向以及完成业务功能的正确性和便利性。
我们按照以下原则进行流程测试:
先测功能后测流程:
业务流程测试是建立在功能点测试基础上的。
首先要保证流程测试涉及到的功能点实现正确,所以,流程测试安排在功能测试的后面进行。
先测主流程后测分支流程:
主流程就是指按照正常情况实现的业务流程,分支流程指出现特殊情况后的业务流程。
先测子系统内的流程后测跨子系统的流程:
子系统内的流程测试随子系统的功能测试进行,在子系统流程测试完成后,集中人力进行跨子系统的主流程的联调测试。
本系统中业务流程测试先针对各子系统各自的主业务流程和分支流程分别进行测试,然后对不同子系统之间的业务流及数据流进行测试。
3、功能覆盖率分析
对每个模块的功能覆盖率进行分析,首先测试用例对所有的业务流程、数据流以及核心功能点的覆盖率达到100%。
其次,必须满足用户测试的需求。
4、测试内容
测试将对以下项目应用系统中的相关功能进行测试。
一.1.1.2.2.2安全性测试
安全性测试采用软件测试当中的黑盒测试方法,对涉及安全的软件功能,如:
用户管理模块、权限管理模块、加密系统、认证系统等进行测试,主要是验证上述功能是否有效。
一.1.1.2.2.3可靠性测试
可靠性是指产品在规定的条件下和规定的时间内完成规定功能的能力。
例如针对某个软件系统,主要的可靠性测试指标包括:
屏蔽用户操作错误:
考察对用户常见的误操作的提示和屏蔽情况;
输入数据有效性检查:
系统对数据录入的有效性检查;
错误提示的准确性:
对用户的错误提示准确程度;
错误是否导致系统异常退出:
有无操作错误引起系统异常退出的情况;
异常情况的影响:
在程序运行过程中进行掉电或断网试验,考察数据和系统的受影响程度,若受损,是否提供补救工具,补救的情况如何;
数据库备份及恢复测试:
系统是否提供数据备份和恢复手段,能否进行数据库的备份和恢复。
结合功能测试:
对于用户权限限制、用户和密码封闭性、数据备份与恢复手段、留痕功能等,系统安全性的测试可以结合功能测试完成,因为上述功能即是系统安全性考虑,同时也是系统的功能模块;
留痕功能:
系统是否有操作日志,操作日志记录的操作情况的全面性和准确性,是否包括主要要素如操作员、操作日期、使用模块等,是否具有日志查询功能;
采用统一身份认证,用户能否操作不属于其职权的其他子系统;
外网能否不经过CA认证就可登录该系统。
可靠性测试除了包括上述基本项外,重点的测试内容是数据可靠性和系统长时间无故障稳定运行,可通过以下种方法实施:
1、结合功能测试:
软件可靠性与软件本身的缺陷数量息息相关,因此结合功能测试寻找软件缺陷,可以提高软件系统可靠性,主要是系统的错误屏蔽、数据校验能力和其他与功能相关的可靠性指标;
2、模拟测试:
通过模拟的手段模拟系统异常情况的出现,如:
系统死机、系统掉电、网络中断、设备故障等情况,测试系统对于出现异常情况的预防和恢复措施。
3、独立处理能力:
在某系统发生故障时具有能独立运行的能力。
4、数据可靠性测试:
包括数据备份测试策略、灾难恢复测试、备份与恢复速度。
5、长时间无故障稳定运行:
日常业务疲劳强度测试就是模拟系统的日常业务,持续执行“一段时间”,暴露系统的性能问题,例如内存泄漏、资源争用等,分析与调整的方法与并发性能测试是非常类似的。
高峰业务疲劳强度测试就是模拟系统的高峰业务,持续执行“一段时间”,这样的负载是对系统的双重考验,既包括负载压力,又包括长时间。
一.1.1.2.2.4性能测试
1、性能测试综述
性能测试方法是在系统真实运行环境,基于重点事件优先的原则,设计业务执行效率测试用例,采用测试脚本回放的方法,仿真实现事务的处理过程,通过在单台或多台测试用机上执行多线程或多进程实现多用户并发测试,或者基于批处理模式,加载一定规模的数据量,进行系统资源监控测试。
测试包括执行效率、设备效率、网络效率。
(1)执行效率测试主要是测试在特定应用的业务逻辑、用户界面、功能下系统能够承受的用户并发的数量和响应时间。
上述测试可通过自动化的测试工具录制具有一定代表意义的典型操作,并进行测试脚本编译即可形成确定的测试案例,然后通过压力测试工具,模拟多用户同时循环进行这些业务操作,测试服务器事务处理平均响应时间、服务器90%的事务处理平均响应时间、事务处理速率等相关参数,考察系统在各种情况下的性能表现。
在具体测试过程中需要结合功能测试制定相应的测试案例,包括以下内容:
测试脚本:
选择影响系统执行效率的功能模块,录制典型的业务流程脚本作为执行效率测试的基础案例。
测试脚本的制定方法,可以利用测试工具的“录制”功能录制相应的测试脚本,也可以通过脚本编程语言进行脚本的编写;
并发用户数量:
分为负载测试和压力测试,负载测试是指系统能够承受的正常用户并发数量;压力测试是指系统能够承受的最大用户并发数量;
并发方式:
主要指用户并发过程中与真实情况相似程度,包括并发用户数量变化的方式、并发过程使用的真实客户端数量、对于并发峰值的模拟等。
(2)设备效率主要指系统CPU占用率、内存占用率、磁盘占用率、输入输出效率等,包括软件在不工作状态下对于硬件资源的占用情况和进行业务处理过程中对于硬件资源的占用情况,包括数据库服务器、应用服务器和客户端等。
通常操作系统均提供了监控端口,只要通过测试工具自动连接相应端口,即可实现监控系统的设备效率,并结合执行效率进行相关测试。
(3)网络效率主要指网络吞吐量、网络的使用频度与带宽占用。
性能分析:
通过执行和设备效率及网络效率测试结果进行性能分析,找出可能影响性能的环节。
2、性能压力测试实施
测试实施可从以下几个方面考虑:
(1)并发性能
并发测试的过程,是一个负载测试和压力测试的过程。
即逐渐增加负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标和资源监控指标来确定系统并发性能的过程。
(2)速度
主要测试系统关键操作的效率,例如查询信息速度、数据汇总统计的速度等。
(3)疲劳测试
通常是采用系统稳定运行情况下能够支持的最大并发用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。
一般情况下利用疲劳强度测试来模拟系统日常业务操作。
一.1.1.2.2.5兼容性测试
兼容性试检测应用系统在不同的软件和硬件配置中的运行情况。
在大多数环境中,客户机、网络连接和数据库服务器的具体硬件规格会有所不同,客户机可能会安装不同的软件,而且在任何时候,都可能运行许多不同的软件组合,从而占用不同的资源。
主要适应性测试的内容有:
硬件兼容性:
系统对不同型号硬件(如服务器、打印机、扫描仪等设备)的兼容程度。
软件兼容性:
考察系统与其他现有应用软件的兼容性,如杀毒软件、报表软件等。
数据兼容性:
符合需求说明书的数据标准要求,在保证系统和数据安全的前提下,能够方便地与其他现有的系统实现数据交换和共享。
一.1.1.2.2.6平台移植性测试
在淮委已有主机平台的模拟环境中测试系统能否平滑移植。
一.1.1.2.2.7易用性测试
1、测试方法
该质量特性与软件本身的功能缺陷是息息相关的,因此在利用功能测试的结果去分析是得到其他质量特性的主要方法。
对于软件易用性测试,主要利用评估的方式,测试人员以用户需求说明为准则,按不同的评估项内容给出评价。
2、测试内容
易安装性:
安装的难易程度,符合流行安装模式;
用户界面的友好性:
界面的简洁性如何,与人事和物流管理实际业务流程的相符程度如何,界面风格一致性;
易学习性:
相对一般操作人员来说,学习使用的难度如何,对操作人员有何要求;
易操作性:
操作的难易程度,对主要或常用功能应该提供快捷方式;
联机帮助丰富性:
考察联机帮助的准确性、全面性,在关键操作时使用联机帮助的方便性。
一.1.1.2.2.8用户文档测试
用户文档主要包括用户需求说明书、用户操作手册、设计说明书,我们从以下七个方面对用户文档进行检查:
规范性;
符合性;
完整性;
一致性;
易理解程度;
印刷与包装质量;
操作实例。
一.1.1.2.2.9回归测试
对上次测试中问题修改后的重复测试,验证修改后的内容是否满足现在的需求或引发了新的错误。
一.1.1.3测试步骤、日程和工具
一.1.1.3.1软件测试步骤
一.1.1.3.1.1确定测试需求
北京江河瑞通技术发展有限公司将通过与客户的沟通交流,并参考相关的国家标准和规范,确定软件测试需求。
同时,确定软件测试大纲。
一.1.1.3.1.2制定测试方案
根据软件测试需求以及软件测试大纲,北京江河瑞通技术发展有限公司的软件测试工程师将制定相应的软件测试方案,合理调配人力资源和测试进度。
编制完成的软件测试方案,北京江河瑞通技术发展有限公司将组织专人对测试方案进行内部评审。
如果内部评审通过,将进入下一个步骤;如果内部评审不通过,将对软件测试方案进行修正和改进,软件测试方案修正和改进完成后会再进行评审。
一.1.1.3.1.3设计测试用例
根据测试方案,设计单元测试用例、集成测试用例以及系统测试用例。
单元测试用例针对项目建设应用系统软件的各个子系统子模块进行设计。
集成测试用例包括系统外部接口测试用例和系统内部接口测试用例。
系统测试用例包括性能测试用例、配置测试用例、安装测试用例、安全性测试用例、可靠性测试用例、兼容性测试用例、平台移植性测试用例、易用性测试用例、用户文档测试用例以及回归测试用例。
设计完成的软件测试用例,北京江河瑞通技术发展有限公司将组织专人对测试用例进行内部评审。
如果内部评审通过,将进入下一个步骤;如果内部评审不通过,将对软件测试用例进行修正和改进,软件测试用例修正和改进完成后会再进行评审。
一.1.1.3.1.4执行测试
执行测试过程将分为A角测试和B角测试同步进行。
根据两者结果的对比,如果无偏差,同时根据测试中出现的问题,撰写并提交测试问题报告,审核通过后,提交问题单,并进行回归测试。
如果A角测试和B角测试的结果存在偏差,或者测试问题报告的内部评审不通过,将执行补充测试。
一.1.1.3.1.5撰写测试报告
根据软件测试结果撰写测试初报告,测试初报告完成后将进行内部评审,如果评审通过将提交软件测试最终报告;如果内部评审不通过,将就报告中存在的问题和不完善的地方进行修正和改进,并酌情进行补充测试。
一.1.1.3.1.6消除软件缺陷
根据最终的软件测试报告,北京江河瑞通技术发展有限公司软件开发工程师将对软件存在的一些缺陷进行修复,消除软件缺陷,确保项目应用系统软件的安全稳定运行。
一.1.1.3.2软件测试日程
项目系统软件的周期较长,具体软件测试日程安排,我们将根据整个的工程进度进行合理计划,初步的软件测试日程安排如下。
单元测试:
在系统编码过程中进行。
集成测试和系统测试:
逐阶段进行。
一.1.1.3.3软件测试工具
应用系统测试工具是该部分件测试工作的一个重要的组成部分,它能够协助测试工程师完成许多手工无法完成或者难以实现的一些测试工作。
正确、合理地选择和使用测试工具可以快速、全面地对软件进行测试,从而提高软件质量。
在不同的测试阶段,我们应该选择不同的测试工具进行测试的实施和管理工作,由于测试工具的使用需要比较高的技巧和比较丰富的经验,所以即使在同一个项目中,我们也可能需要随时根据项目的实际情况选择不同的测试工具。
北京江河瑞通技术发展有限公司进行过大量的软件工程项目测试,对于各种测试工具,尤其是测试管理工具、性能测试工具和故障定位工具的使用积累了丰富的使用经验,可以在测试过程中应对出现的各种可能的情况。
系统日志工具Log4J
在软件系统的开发和系统的运行过程中,系统日志都是非常重要的。
好的系统运行日志,可以为系统的运行状况评估、故障分析提供有力的数据支持。
在软件开发过程中,系统日志也是软件调试和测试的利器。
Log4J(还有Log4C等)同样来源于互联网权威的开源组织apache.org,是一个优秀的系统日志框架,我们在这个框架的基础上,根据其提供的二次开发接口,结合项目的实际需求,对日志的信息级别、输出格式、日志信息存储方式等进行定制和二次开发。
为软件的调试和测试过程提供统一的信息描述格式,提高软件开发不同角色之间的沟通效率。
系统进入运行期之后,只需要对运行期间所需记录的信息级别进行设置,就可完成从开发阶段向运行阶段的转换。
功能测试工具WinRunner
WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。
通过自动录制、检测和回放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业级应用无故障发布及长期稳定运行。
Web用户模拟和压力测试工具WebStress
WebStress是MiscroSoft开发的一个Web测试软件。
它可以模拟任何人数在同一时间内进站或是循序进站时你的Server的反应表现。
只要输入网站的URL网址以及模拟的上站人数,就可以看出Server在这种压力测试下的评比,用条状图明白地表示出Server反应时间、传递速率等相关数据。
除了Http的网页外,还支持JSP等语言撰写的程序。
支持Proxy设定、密码输入、Cookies与JSP的Session等功能。
使用WebStress,可以模拟Web用户对应用的访问过程,实现自动化测试,也可以对软件的实现效率、服务器的负载情况进行测试,在以往的项目中得到了广泛的使用。
测试管理工具TestDirector
TestDirector是全球最大的软件测试工具提供商MercuryInteractive公司生产的企业级测试管理工具,也是业界第一个基于Web的测试管理系统,它可以在您公司内部或外部进行全球范围内测试的管理。
通过在一个整体的应用系统中集成了测试管理的各个部分,包括需求管理,测试计划,测试执行以及错误跟踪等功能,TestDirector极大地加速了测试过程。
一.1.1.3.4软件测试程序
测试人员要仔细阅读有关资料,包括规格说明、设计文档、使用说明书及在设计过程中形成的测试大纲、测试内容及测试的通过准则,全面熟悉系统,编写测试计划,设计测试用例,作好测试前的准备工作。
测试的设计可以直接参考模块的源程序。
所以测试的策略,是把白盒法和黑盒法结合运用。
具体做法有两种:
用黑盒法提出一组基本的测试用例,然后用白盒法作验证。
如果发现用黑盒法产生的测试用例未能满足所需的覆盖标准,就用白盒法增补新的测试用例来满足它们。
覆盖的标准应该根据模块的具体情况确定。
对可靠性要求较高的模块,通常要满足条件组合覆盖或路径覆盖标准。
先用白盒法分析模块的逻辑结构,提出一批测试用例,然后根据模块的功能用黑盒法进行补充。
功能测试及其后的测试阶段,一般采用黑盒方法。
其策略包括:
用边值分析法和(或)等价分类法提出基本的测试用例;
用猜测法补充新的测试用例;
如果在程序的功能说明中含有输入条件的组合,宜在一开始就用因果图法,然后再按以上两步进行。
一.1.1.4测试输出结果
一.1.1.4.1测试计划
软件测试计划指在正式测试实施开始前,对软件测试项目所作的一个测试计划和执行方案,主要包括测试目的、评测依据、评测管理、评测内容及方法、测试配合要求、测试结果、测试环境要求以及项目输出成果等。
一.1.1.4.2综合测试报告
综合测试报告指在测试实施完成后,测试工作组提交的一个软件缺陷报告。
主要内容包括问题的严重等级、问题产生的详细操作过程及结果描述等。
一.1.1.4.3步骤和功能测试报告
软件测试报告是由测试工作组提交的最终测试结果报告,主要内容包括对软件功能及其它质量特性的综合评价、测试要求的各项质量特性的具体等级评分、详细测试结果描述以及软件的测试环境描述等。
一.1.1.5测试的审核和结果认定方法
1、测试结果由测试审核组进行审定。
2、测试审核组由用户、投标单位、监理单位和聘请的技术专家组成。
3、在进行测试审核前两天内,投标单位负责将测试文档交由测试审核组。
一.1.1.6测试结果的认定及处理
测试审核组以会议和现场实测形式对测试结果进行认定。
未达到测试通过规则的测试项,将错误记录到《测试案例》文件中错误异常描述中,并提交开发人员更改软件,在更改之后进行回归测试或再测试。
任何测试必须使用整个系统完整通过,不允许部分验收。
如果15天内测试不通过,有权停止验收并拒收该系统。
测试通过后,由测试审核组、投标单位代表、用户代表、监理单位代表在测试通过报告上签字确认。