1、概述
系统测试是关注系统的外部特性。它的主要对象是进行系统测试的测试工程师。该方案所包含的测试用例范围包括随机抽查信息平台的所有功能测试用例、环境测试用例、性能测试用例以及UI测试用例等。
2、测试策略
(1)集成测试
按照模块上下集关系,进行从上到下或者从下到上的集成测试方法进行集成测试,单元测试与集成测试主要考虑功能性测试。同时也要对各个模块或者集成模块进行非功能性的抽样测试。
(2)系统测试
对整合系统进行整合测试,这时的测试主要测试系统的整体功能和全部非功能性的需求。
(3)验收测试
验收测试首先进行正规性的测试,即由技术人员模拟各用户环境,以用户的身份进行安装和测试工作。然后进行非正规测试alpha测试和bate测试。
Alpha测试
由开发人员模拟用户进行测试,这个时候还允许对需求做些修改工作。 Bate测试
alpha测试后将产品提交给某些特定用户,进行测试,注意这时的软件一定要有使用时间限制,这时候冻结系统需求。
(4)功能测试
功能测试指测试软件各个功能模块是否正确,逻辑是否正确。对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。此类测试基于黑盒技术,该技术通过图形用户界面 (GUI)或者测试脚本与应用程序进行交互,并对交互的输出或结果进行分析,以此来核实应用程序及其内部进程。功能测试的主要参考为类似于功能说明书之类的文档。
(5)UI测试
UI测试指测试用户界面的风格是否满足客户要求,文字是否正确,页面美工是否好看,文字、图片组合是否完美,背景是否美观,操作是否友好等等。
用户界面 (UI) 测试用于核实用户与软件之间的交互。UI测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。另外,UI测试还可确保UI中的对象按照预期的方式运行,并符合行业的标准。包括用户友好性,人性化,易操作性测试。
(6)性能测试
性能测试主要测试软件的性能,包括负载测试,强度测试,容量测试等。 负载测试
负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担。 在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工
1 / 4
作量条件下的性能行为,以及持续正常运行的能力。负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。
比如,用户并发量测试就是属于负载测试的用户,可以使用测试工具,模拟上百人客户同时访问,看系统响应时间,处理速度如何。
强度测试
强度测试是一种性能测试,指在系统资源特别低的情况下软件系统运行情况。这类测试往往可以体现系统要求的软硬件水平。主要测试对象为低CPU主频,低存储空间(内存或外存),低连接速度。
实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。强度测试还可用于确定测试对象能够处理的最大工作量。比如:一个系统在内存366M下可以正常运行,但是降低到258M下不可以运行,告诉内存不足,这个系统对内存的要求就是366M。
容量测试
容量测试指通过代码往存储空间中插入一定数量的数据,看看相关程序是否能够正常运行。
容量测试使测试对象处理大量的数据,以确定是否达到了将使软件发生故障的极限。容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。例如,通过编写代码项存贮空间输入一定数量的记录,然后运行需要使用这个存储空间的程序,判断程序是否运行正常。
(7)安全性测试
安全性主要体现在以下两个方面:
应用程序级别的安全性,包括对数据或业务功能的访问。 系统级别的安全性,包括对系统的登录或远程访问。 应用程序级别的安全性
可确保在预期的安全性情况下,用户只能访问特定的功能或用例,或者只能访问有限的数据。例如,可能会允许所有人输入数据,创建新账户,但只有管理员才能删除这些数据或账户。如果具有数据级别的安全性,测试就可确保“用户一”能够看到所有客户消息,而“用户二”只能看见同一客户的统计数据。
比如不通过登入页面,直接进入系统。 系统级别的安全性
可确保只有具备系统访问权限的用户才能访问应用程序,而且只能通过相应的网关来访问。比如输入管理员账户,检查其密码是否容易猜取,或者可以从数据库中获得。
(8)故障转移和恢复测试
故障转移和恢复测试指当主机软硬件发生灾难时候,备份机器是否能够正常启动,使系统是否可以正常运行。
故障转移和恢复测试可确保测试对象能成功完成故障转移,并能从导致意外数据损失或数据完整性破坏的各种硬件、软件或网络故障中恢复。如突然主机程序发生死机,备份机器是否能够启动,确保系统能够正常运行,从而不影响用户使用。
2 / 4
(9)安装测试
安装测试的目的就是确保该软件在运行环境下进行安装、升级等都能顺利进行。 (10)测试管理
软件测试的主要目的在于发现软件存在的错误(bug),对于如何处理测试中发现的错误,将直接影响到测试的效果。只有正确、迅速、准确地处理这些错误,才能消除软件错误,保证要发布的软件符合需求设计的目标。在实际软件测试过程中,对于每个错误都要经过测试、确认、修复、验证等管理过程,这是软件测试的重要环节。
(1)错误跟踪管理
为了正确跟踪每个功能项错误的处理过程,通常将软件测试发现的每个错误作为一条条记录输入制定的错误跟踪管理系统。
缺陷跟踪管理系统,需要正确设计每个错误的包含信息的字段内容和记录错误的处理信息的全部内容。字段内容可能包括测试软件名称、测试版本号、测试人名称、测试事件、测试软件和硬件配置环境、发现软件错误的类型、错误的严重等级、详细步骤、必要的附图、测试注释等。处理信息包括处理者姓名、处理时间、处理步骤、错误记录的当前状态。正确的数据库权限管理是错误跟踪管理系统的重要考虑要素,一般要保证对于添加的错误不能从数据库中删除。
(2)软件错误的状态
新信息(New):测试中新报告的软件缺陷; 打开 (Open):被确认并分配给相关开发人员处理; 修正(Fixed):开发人员已完成修正,等待测试人员验证; 拒绝(Declined):拒绝修改缺陷;
延期(Deferred): 不在当前版本修复的错误,下一版修复; 关闭(Closed):错误已被修复; 未处理(Reopen):错误未处理; (3)Bug管理的一般流程
测试人员提交新的Bug入库,错误状态为New。高级测试人员验证错误,如果确认是错误,分配给相应的开发人员,设置状态为Open。如果不是错误,则拒绝,设置为Declined状态。开发人员查询状态为Open的Bug,如果不是错误,则置状态为Declined;如果是Bug则修复并置状态为Fixed。不能解决的Bug,要留下文字说明及保持Bug为Open状态。对于不能解决和延期解决的Bug,不能由开发人员自己决定,一般要通过某种会议(评审会)通过才能认可。测试人员查询状态为Fixed的Bug,然后验证Bug是否已解决,如解决置Bug的状态为Closed,如没有解决置状态为Reopen。
(4)软件错误流程管理要点
为了保证错误的正确性,需要有丰富测试经验的测试人员验证发现的错误是否是真正的错误,书写的测试步骤是否准确,可以重复。每次对错误的处理都要保留处理信息,包括处理姓名、时间、处理方法、处理意见、Bug状态。拒绝或延期错误不能由程序员单方面决定,应该由项目经理,测试经理和设计经理共同决定。错误修复后必须由报告错误的测试人员验证后,确认已经修复,才能关闭错误。加强测试人员与程序员的交流,对于某些不能重复的错误,可以请测试人员补充详细的测试步骤和方法,以及必要的测试用例。
3 / 4
3、环境
为了保证软件版本的控制,需要建立三个环境,开发环境,测试环境以及运行环境。
开发环境 测试环境 运行环境 开发环境: 软件产品开发工作所用的环境。 测试环境:软件测试工作所用的环境。 运行环境:软件运行的环境。 软件在各个环境中的迁移:
当软件经过开发完毕,将软件产品移植到测试环境进行测试,这样测试和开发工作可以相互独立,互不影响。
当软件测试完成发现错误,开发人员在开发环境中修改错误,修改好后,打成数据包,传输到测试环境进行回归测试。
当软件决定运行时,将软件从测试环境移植到运行环境,供用户使用。
4 / 4
因篇幅问题不能全部显示,请点此查看更多更全内容