软硬件测试方案
-
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
、系统测试
系统测试应该由若干个不同的测试环节组成,
目的是重返运行系
统,
验证系统各部件是否能正常工作并完成所赋予的任务。
其
主要包
括以下方面的测试:
恢复测试:检查系统的容错能力。
安全测试:检查系统对非法侵入的防范能力
强度测试:检查程序对异常情况的抵抗能力。
性能测试:检查系统能否满足性能要求。主要包括响应时间、并
发用户数,
p>
及相应的
CPU
、
内存、
硬盘等的利用率及网络吞吐量等。
1.1.1.2.2
测试的主要内容
1.1.1.2.2.1
功
能测试
功
能测试主要采用的是黑盒测试方法,
黑盒测试法制订覆盖
《需<
/p>
求规格说明书》和
《总体设计书》中所要求的全部功能点和主要业
务
流程的测试用例,
通过测试用例的执行,
分别对功能点和业务流程进
行测试。
1
、功能测试方法
< br>本次功能测试中采用黑盒测试法,
主要测试用例设计方法包括因
< br>果图分析、等价类划分、边界值分析、错误推测法:
(
1
)因果图法:采用因果图法,以委托方提供的《需求规格说明
书》和《总体设计书》为依据设计业务功能点测试案例;
p>
(
2
)等价类划分法:
对业务流程进行等价类划分,
测试用例应是
业务主流程和流
程主分支的最小集,
所有的判别分支都能被覆盖,
在
流程覆盖的同时,完成等价功能的测试;
(
p>
3
)边界值分析法在功能测试中,
针对功能
说明中的输入输出域,
进行边界值和极限值的设计和测试;
<
/p>
(
4
)错误推测法:
采用逆向思维方式,
结合以往测试经验和直觉
设计软件在功
能和流程上可能存在的各种错误,进行容错性测试。
功能测试策略主要从以下方面考虑:
(
1
)安装
如果软件安装由用户来进行,
则按照安装手册中的信息应能安装
成功。
产品说明书中,
给出的每个所需
的配置在安装程序时都应具备。
安装之后,程序是否运行应是可以鉴别的。例如,使用测
试用例或通
过相应的信息自检。
(<
/p>
2
)数据准备
软件内部应具有一定的数据量供测试使用。
最好由厂商提供符合
规范的测试数据作为数据准备,
也可以由厂商提供数据导入格式,
测
试方使用该数据导入格式自行制作一定量的数据备测试使用。
(
3
)功能表现
< br>
在用户文档中提到的所有的功能都应能执行。
程序应按
照用户文
档中的给定形式,
在规定的边界值范围内使用相应的工
具、
资源和数
据执行其功能。
(
4
)正确性
程序和数据应与产品说明书及用户文档的全部内容相对应。
为完
成工作任务程序功能应以正确的方式执行。
特别是,
程序和数据应符
合产品说明书涉及的任何需求文档的所有规定。
(
5
)一致性
程序和数据其本身内容不能自相矛盾,
并且同产品说明书和用户
文档也不能相互矛盾。
每一术语应处处保持相同的意思。
由用户进行
的程序操作控制和程序的运行表现(例如:信息、屏幕录入
格式和打
印报表)应有相同的结构。
(
6
)用户界面测试
对用户界面的布局、界面文字、操作步骤、操作方式、快捷方式
进行测试和验证
,
必要时候通过用户调研或用户测试,
验证用户界面
是否满足用户要求
2
、业务流程测试方法
业务流程测试主要是在功能测试的基础上,
测试系统完成某项业
务的能力。
业务流程重点考查系统不同模块、
不同子
系统之间的功能
衔接、
数据流向以及完成业务功能的正确性和便
利性。
我们按照以下
原则进行流程测试:
先测功能后测流程:
业务流程测试是建立在功能点测试基础
上的。
首先要保证流程测试涉及到的功能点实现正确,
所以,<
/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
p>
、独立处理能力:
在某系统发生故障时具有能独立运行的能力。
p>
4
、数据可靠性测试:包括数据备份测试
策略、灾难恢复测试、
备份与恢复速度。
5
、长时间无故障稳定运行:日常业务疲劳强度测试就是模拟系
统的日常业务,持续执行“一段时间”
,暴露系统的性能问题,例如
内存泄漏、
资源争用等,
分析与调整的方法与并发性能
测试是非常类
似的。
高峰业务疲劳强度测试就是模拟系统的高峰
业务,
持续执行
“一
段时间”
,这样的负载是对系统的双重考验,既包括负载压力,又包
括长时间。<
/p>
1.1.1.2.2.4
性
能测试
1
、性能测试综述
< br>性能测试方法是在系统真实运行环境,
基于重点事件优先的原则,
设计业务执行效率测试用例,
采用测试脚本回放的方法,
仿真实现事
务的处理过程,
通过在单台或多台测试用机上执行
多线程或多进程实
现多用户并发测试,或者基于批处理模式,加载一定规模的数据量,<
/p>
进行系统资源监控测试。
测试包括执行效率、设备效率、网络效率。
< br>(
1
)执行效率测试主要是测试在特定应用的业务逻辑、
用户界面、
功能下系统能够承受的用户并发的数量和响应时间。
上述测试可通过
自动化的测试工具录制具有一定代表意义的典型
操作,
并进行测试脚
本编译即可形成确定的测试案例,
然后通过压力测试工具,
模拟多用
户同时循环进
行这些业务操作,测试服务器事务处理平均响应时间、
服务器
9
0
%的事务处理平均响应时间、事务处理速率等相关参数,
考察
系统在各种情况下的性能表现。
在具体测试过程中需要结合功能
测试制定相应的测试案例,包括以下内容:
测试脚本:
选择影响系统执行效率的功能模块,
录制典型的业务
< br>流程脚本作为执行效率测试的基础案例。
测试脚本的制定方法,
< br>可以
利用测试工具的“录制”功能录制相应的测试脚本,也可以通过脚本
编程语言进行脚本的编写;
并发用户数量:<
/p>
分为负载测试和压力测试,
负载测试是指系统能
< br>够承受的正常用户并发数量;
压力测试是指系统能够承受的最大用户
并发数量;
并发方式:
主
要指用户并发过程中与真实情况相似程度,
包括并
发用户数量变
化的方式、
并发过程使用的真实客户端数量、
对于并发
峰值的模拟等。
(
2
)设备效率主要指系统
CPU
占用率、
内存占用率、磁盘占用