3.1
安装与测试环境
测试环境要求:
根据被测系统的需求选用专用的测试环境,或结合具体系统情况搭建测试环境,使其尽量逼近真实的系统运行环境。
3.2
单元测试
(采用白盒测试方法
)单元测试的主要内容是:
系统代码走查
界面、输出报表检查
功能测试
容错测试
测试过程中静态测试的分类
静态测试可以分为代码审查、代码走查和静态分析:
1、代码审查的测试内容包括:检查代码和设计的一致性;检查代码对标准的遵循、可读性;检查代码的逻辑表达的正确性;检查代码结构的合理性。代码审查以代码审查组的方式,使用读程序和利用代码审查单的方法进行
2、代码走查是由被指定作为测试员的小组成员提供若干测试实例(程序的输入数据和期望的输出结果),让参加会议的成员充当计算机,在会议上对每个测试实例用头脑来执行程序,也就是用测试实例沿程序逻辑走一遍,并由
测试人员讲述程序执行过程,在纸上或黑板上监视程序状态(变量的值)
3、静态分析一般需使用软件工具进行。通常包括控制流分析、数据流分析、接口分析、表达式分析。如
logiscope,testbed都是比较好用的静态分析工具。
3.2.1
代码检查
l
程序单位的首部应有代码说明和修改备注,内容包括编写或更改代码的人员、时间、程序的功能及调用关系等;
l
变量、过程、函数等应符合软件项目组规定的统一命名规则;
l
代码中不同的功能部分应有清楚的注释,较复杂的代码段落也应有注释,一般的要求是代码注释的量是代码的
1/3
;
l
如果是修改,在修改的代码处应有修改注释,注释说明修改的人员、时间及内容。
3.2.2
界面及输出报表格式检查
l
用户界面、输出报表的格式以及代码的命名应符合统一的规则;
l
用户界面、输出报表的字段位置、长度、类型应与设计文档的要求一致。界面、报表的风格一致、协调。
3.2.3
功能测试
l
如果有多个界面,多个界面之间切换正确;
l
每一个界面的功能键、触发键、按钮、菜单、选择项功能正确;
l
检查数据项的关联与限制功能是否正确;
l
找出设计文档中要求的未被包含在上述几项测试中的功能,逐项测试,检查是否达到设计文档要求的功能。
3.2.4
功能测试的正确性判断
l
有增、删、改、刷新等功能的系统,增、删、改、刷新等操作的结果正确,测试时应手工打开数据库表,以检查写
/
删除的效果;
l
有查询或报表操作时,检查在各种选择项的合理组合下,所产生的结果,对照数据库中的数据是否正确;对不符合条件的,应有相应的提示及相应的保护措施。
l
对照设计文档的要求,测试系统所有的功能是否正确。
3.2.5
容错测试
l
非法键容错测试:
在不同的界面,不同的字段处输入非法键或其它空白处任意点击,被测试系统应有非法键容错能力;
l
异常数据容错测试:
在不同的界面,不同的字段输入异常数据(如:数据类型不同、非法日期等),被测试系统应有异常数据容错能力;(如:相应信息提示等)
l
系统负作用检查:
退出被测试系统后应恢复到进入前的系统状态,不应影响其它系统的正确运行;
l
残留文件检查
:
退出系统后在本地机和服务器的有关目录或
TEMP
目录下不应留下任何无用的文件。否则,影响系统运行的性能。
3.3
集成测试:
(采用黑盒测试方法)
其主要测试内容
流程测试
SQL
测试
3.3.1
流程测试(也叫接口测试,包括模块之间、子系统之间、小组之间等)
根据系统的需求说明书:以实体(即具体业务处理)为对象,主要按业务的需求测试其输入、处理、输出是否满足需求,验证每个业务既符合实际工作的需要,又验证业务的处理过程是正确的,输出的结果是正确的,这里测试的内容比较多,测试大纲的内容主要体现的是该阶段的内容,测试用例主要用在该阶段。
3.3.2
SQL
测试
每一个
c/s
系统都使用
SQL
来访问数据库,其中有利也有弊,
SQL
语句使用户用很少的几条简单语句访问和操纵大量数据。一个单独的查询语句可以选择、揉和、编组、和总结一个数据库中上百万行的数据。它使开发者可以快速和相对容易地开发,把数据返回并显示在窗口和报表中的语句。一个语句也可以修改一个、大量或一个数据表中全部的数据行。如果定义了触发器或依赖关系,一个更新语句有可能影响数据库中许多其他表。这是它的优势。
但是、所有这些潜在力量可能会付出不被理解或确认的代价。使用
SQL
语言访问关系数据库时有产生大型错误的可能性。写的不好或未被很好测试的语句很可能使一个查询产生错误的结果。没有被充分测试的
SQL
语句也可能对系统的性能产生巨大的负面影响。一个写的不好的
SQL
语句可能在效率上低很多很多。
3.4
确认测试:
其主要测试内容是
系统性的功能测试
性能测试
多用户测试
负载测试
配置测试
安装测试
安全性测试
长时间测试
容量测试
恢复测试
2.4.1
功能测试
再次抽查性的验证被测系统的各个功能点是否正确,流程是否正确
2.4.2
性能测试
包括以下几点:
l
界面操作效率测试:逐项测试每一项操作,特别是增、删、改、刷新等功能、翻页、滚屏等操作,测试每项操作的响应时间是否符合设计要求或用户要求;
l
报表输出及查询效率测试:分别选择最小范围(非空)的数据及最大范围(根据实际情况定)的数据,测试产生结果的响应时间是否符合设计要求或用户要求;
l
数据库压力测试;当被测数据库具有几万、几十万条数据时,分别操作增、删、改、刷新、翻页等功能,测试每项操作的响应时间是否符合设计要求或用户要求;
l
评价系统效率是否合理。
2.4.3
并发测试
l
随机并发测试:在两个或以上的客户端同时多次进入和退出被测试系统,测试系统是否正确无误;
l
共享并发测试:在两个或以上的客户端同时调用被测试系统做同样的工作,测试系统是否正确无误;
l
同步并发测试:就系统中使用到的同步机构,有针对性地组织数据进行测试,如:有关同步的命令包括对数据库表、文件的共享,互斥操作,文件系统或记录的加锁、解锁,对公共数据区域的操作等。
如:
以下均用同一用户名
USER
:
AAAAAA
,
PASSWORD
:
aaaaaa
登录进行测试。
1
.同时登录到同一邮箱;
2
.同时给用户
AAAAAA
发一个邮件,邮件各不相同;
3
.同时添加地址,地址各不相同;
4
.同时添加签名,签名各不相同;
5
.同时添加过滤规则,过滤规则各不相同;
6
.同时定时发信,所定时间不同;
7
.同时添加
POP3
服务器,服务器名相同;
8
.同时更改密码,密码不同;
2.4.4
多用户测试
就是大批量用户对被测系统进行使用。
如:
1
.以不同用户名登录,每人向用户
AAAAAA
发送
20
封邮件(越多越好,可以随变拷一编文章发出去);
2
.每人在
AAAAAA
信箱中添加
20
个地址;
3
.每人在
AAAAAA
信箱中添加
20
个过滤规则;
4
.每人在
AAAAAA
信箱中添加
20
个签名;
2.4.6
兼容测试
本测试的目的主要是验证被测系统在各种运行环境中将原来系统的数据移植过来后,是否能照常运行,又叫跨平台测试。
2.4.7
安装测试
本测试主要检测系统的可移植性和可用性。在系统产品化后,将产品移植到另外的机器上,检查是否能正常运行。
2.4.8
恢复测试
本测试主要目的是检查系统的可恢复性。在系统运行过程中,突然断电。然后重新启动,查看系统是否能正常运行。
测试结果:断电对系统的性能并不产生影响,但是由于在往服务器写东西的时候断电,对硬盘影响较大,硬盘需恢复后系统才能运行。
2.4.9
安全性测试
本测试主要包括系统级和应用级的安全性测试,应用级的测试主要是被测系统的安全登陆测试。系统级测试的主要内容是各种
licenses
的测试,其中包含防止黑客攻击的测试,这种测试的手段是用一个黑客软件来攻击系统,检查系统是否能防范于未然。
如:
黑客对邮件系统一般有三种攻击方式:
1
.
TCP/IP
网络进行攻击。这些攻击包括序列号欺骗,路由攻击,源地址欺骗和授权欺骗。
2
.
在服务器预置
Internet trojan horse
,来获取管理员帐号。
3
.
通过
EMAIL
炸弹来攻击邮件系统。
对第一种情况,可以用
IGMP(
一个指定
IP
的攻击工具
),SSS(
一个相当优秀的服务器漏洞扫描工具
)
进行测试。
对第二种情况,可以使用了
BO V120
进行测试。
对第三种情况,可以使用
Anonymai
,
KaBomb!3
(两个较成熟的
EMAIL
炸弹),攻击成功。这种情况下的攻击只会对用户的邮件产生不良影响,对系统无影响,而且这种主动性攻击目前尚无一个十分周全的解决办法。 |