软件测试方案.docx
- 文档编号:4357447
- 上传时间:2022-11-30
- 格式:DOCX
- 页数:20
- 大小:44.96KB
软件测试方案.docx
《软件测试方案.docx》由会员分享,可在线阅读,更多相关《软件测试方案.docx(20页珍藏版)》请在冰豆网上搜索。
软件测试方案
软件测试方案
软件测试是指使用人工或者自动的手段来运行或测定某个软件产品系统的过程,其目的是在于检验是否满足规定的需求或者弄清预期的结果与实际结果的区别。
本文主要描述软件测试的一些类型。
白盒测试
白盒测试是基于代码的测试,测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量,一般白盒测试由项目经理在程序员开发中来实现。
白盒测试分为动态白盒测试和静态白盒测试
静态白盒测试
利用眼睛,浏览代码,凭借经验,找出代码中的错误或者代码中不符合书写规范的地方。
比如,代码规范中规定,函数必须为动宾结构。
而黑盒测试发现一个函数定义如下:
FunctionNameGet(){
….
}
这是属于不符合开发规范的。
有这样一段代码:
if((i<0)&(i>=0))
…
这段代码交集为整个数轴,IF语句没有必要
I=0;
while(I>100){
J=J+100;
T=J*PI;
}
在循环体内没有I的增加,错误产生。
动态白盒测试
利用开发工具中的调式工具进行测试。
比如一段代码有4个分支,输入4组不同的测试数据使4组分支都可以走通而且结果必须正确。
if(I<0){
P1
}else{
P2
}
在调试中输入I=-1,测试P1程序段通过;再输入I=1,测试P2程序段,这样的测试属于动态白盒测试的缺陷。
白盒测试通常在单元测试的时候进行。
功能测试
功能测试指测试软件各个功能模块是否正确,逻辑是否正确。
对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。
这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。
此类测试基于黑盒技术,该技术通过图形用户界面(GUI)或者测试脚本与应用程序进行交互,并对交互的输出或结果进行分析,以此来核实应用程序及其内部进程。
功能测试的主要参考为类似于功能说明书之类的文档。
UI测试
UI测试指测试用户界面的风格是否满足客户要求,文字是否正确,页面美工是否好看,文字,图片组合是否完美,背景是否美观,操作是否友好等等
用户界面(UI)测试用于核实用户与软件之间的交互。
UI测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。
另外,UI测试还可确保UI中的对象按照预期的方式运行,并符合公司或行业的标准。
包括用户友好性,人性化,易操作性测试。
UI测试比较主观,与测试人员的喜好有关
比如:
页面基调颜色刺眼;文字中出现错别字;页面显示范围超过屏幕范围等都属于UI测试中的缺陷。
性能测试
性能测试主要测试软件测试的性能,包括负载测试,强度测试,容量测试,基准测试以及基准测试
负载测试
负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担。
在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。
负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。
此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。
比如,用户并发量测试就是属于负载测试的用户,可以使用测试工具,模拟上百人客户同时访问,看系统响应时间,处理速度如何?
强度测试
强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况。
这类测试往往可以书写系统要求的软硬件水平要求。
主要测试对象为低CPU主频,低存储空间(内存或外存),低连接速度。
实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。
如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。
而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。
强度测试还可用于确定测试对象能够处理的最大工作量。
比如:
一个系统在内存366M下可以正常运行,但是降低到258M下不可以运行,告诉内存不足,这个系统对内存的要求就是366M。
容量测试
容量测试指通过代码往存储空间中插入一定数量的数据,看看相关程序是否能够正常运行。
容量测试使测试对象处理大量的数据,以确定是否达到了将使软件发生故障的极限。
容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。
例如,通过编写代码项存贮空间输入一定数量的记录,然后运行需要使用这个存储空间的程序,判断程序是否运行正常。
基准测试
基准测试与已知现有的系统进行比较,主要检验是否与类似的产品具有竞争性的一种测试。
如果你要开发一套财务系统软件并且你已经获得用友财务系统的性能等数据,你可以测试你这套系统,看看哪些地方比用友财务系统好,哪些地方差?
以便改进自己的系统,也可为产品广告提供数据。
竞争测试
软件竞争使用各种资源(数据纪录,内存等),看他与其他相关系统对资源的争夺能力。
比如:
一台机器上即安装您的财务系统,又安装用友财务系统。
当CPU占有率下降后,看看是否能够强过用友财务系统,而是自己的系统能够正常运行?
安全性和访问控制测试
安全性和访问控制测试侧重于安全性的两个关键方面:
应用程序级别的安全性,包括对数据或业务功能的访问
系统级别的安全性,包括对系统的登录或远程访问。
应用程序级别的安全性
可确保:
在预期的安全性情况下,主角只能访问特定的功能或用例,或者只能访问有限的数据。
例如,可能会允许所有人输入数据,创建新账户,但只有管理员才能删除这些数据或账户。
如果具有数据级别的安全性,测试就可确保“用户类型一”能够看到所有客户消息(包括财务数据),而“用户二”只能看见同一客户的统计数据。
比如不通过登入页面,直接进入系统?
系统级别的安全性
可确保只有具备系统访问权限的用户才能访问应用程序,而且只能通过相应的网关来访问。
比如输入管理员账户,检查其密码是否容易猜取,或者可以从数据库中获得?
故障转移和恢复测试
故障转移和恢复测试指当主机软硬件发生灾难时候,备份机器是否能够正常启动,使系统是否可以正常运行,这对于电信,银行等领域的软件是十分重要的。
故障转移和恢复测试可确保测试对象能成功完成故障转移,并能从导致意外数据损失或数据完整性破坏的各种硬件、软件或网络故障中恢复。
故障转移测试可确保:
对于必须持续运行的系统,一旦发生故障,备用系统就将不失时机地“顶替”发生故障的系统,以避免丢失任何数据或事务。
恢复测试是一种对抗性的测试过程。
在这种测试中,将把应用程序或系统置于极端的条件下(或者是模拟的极端条件下),以产生故障(例如设备输入/输出(I/O)故障或无效的数据库指针和关健字)。
然后调用恢复进程并监测和检查应用程序和系统,核实应用程序或系统和数据已得到了正确的恢复。
一定要注意主备定时备份
比如电信系统,突然主机程序发生死机,备份机器是否能够启动,使系统能够正常运行,从而不影响用户打电话?
兼容性测试
又叫配置测试。
兼容性测试核实测试对象在不同的软件和硬件配置中的运行情况。
在大多数生产环境中,客户机工作站、网络连接和数据库服务器的具体硬件规格会有所不同。
客户机工作站可能会安装不同的软件例如,应用程序、驱动程序等而且在任何时候,都可能运行许多不同的软件组合,从而占用不同的资源。
(如浏览器版本,操作系统版本等)
下面列出主要配置测试
浏览器兼容性
测试软件在不同产商的浏览器下是否能够正确显示与运行;
比如测试IE,Natscape浏览器下是否可以运行这套软件?
操作系统兼容性
测试软件在不同操作系统下是否能够正确显示与运行;
比如测试WINDOWS98,WINDOWS2000,WINDOWSXP,LINU,UNIX下是否可以运行这套软件?
硬件兼容性
测试与硬件密切相关的软件产品与其他硬件产品的兼容性,比如该软件是少在并口设备中的,测试同时使用其他并口设备,系统是否可以正确使用.
比如在INTER,舒龙CPU芯片下系统是否能够正常运行?
这样的测试必须建立测试实验室,在各种环境下进行测试。
安装测试
安装测试有两个目的。
第一个目的是确保该软件在正常情况和异常情况的不同条件下:
例如,进行首次安装、升级、完整的或自定义的安装_都能进行安装。
异常情况包括磁盘空间不足、缺少目录创建权限等。
第二个目的是核实软件在安装后可立即正常运行。
这通常是指运行大量为功能测试制定的测试。
安装测试包括测试安装代码以及安装手册。
安装手册提供如何进行安装,安装代码提供安装一些程序能够运行的基础数据。
多语种测试
又称本地化测试,是指为各个地方开发产品的测试,如英文版,中文版等等,包括程序是否能够正常运行,界面是否符合当地习俗,快捷键是否正常起作用等等,特别测试在A语言环境下运行B语言软件(比如在英文win98下试图运行中文版的程序),出现现象是否正常。
本地化测试还要考虑:
●当语言从A翻译到B,字符长度变化是否影响页面效果。
比如中文软件中有个按键叫“看广告”,翻译到英文版本中为“Viewadvertisement”可能影响页面的美观程度
●要考虑同一单词在各个国家的不同意思,比如football在英文中为足球,而美国人使用中可能理解为美式橄榄球。
●要考虑各个国家的民族习惯,比如龙个美国中被理解邪恶的象征,但翻译到中国,中国人认为为吉祥的象征。
分辨率测试
测试在不同分辨率下,界面的美观程度,分为800*600,1024*768,1152*864,1280*768,1280*1024,1200*1600大小字体下测试。
一个好的软件要有一个极佳的分辨率,而在其他分辨率下也都能可以运行。
发布测试
主要在产品发布前对一些附带产品,比如说明书,广告稿等进行测试
说明书测试
主要为语言检查,功能检查,图片检查
语言检查:
检查说明书语言是否正确,用词是否易于理解;
功能检查:
功能是否描述完全,或者描述了并没有的功能等;
图片检查:
:
检查图片是否正确
宣传材料测试
主要测试产品中的附带的宣传材料中的语言,描述功能,图片
帮助文件测试
帮助文件是否正确,易懂,是否人性化。
最好能够提供检索功能。
广告用语
产品出公司前的广告材料文字,功能,图片,人性化的检查
文档审核测试
文档审核测试目前越来越引起人们的重视,软件质量不是检查出来的,而是融进软件开发中来。
前置软件测试发越来越受到重视。
请看一个资料:
总结
据美国软件质量安全中心2000年对美国一百家知名的软件厂商统计,得出这样一个结论:
软件缺陷在开发前期发现比在开发后期发现资金,人力上节约90%;软件缺陷在推向市场前发现比在推出后发现资金,人力上节约90%。
所以说软件的缺陷应该尽早发现。
不是所有的软件都要进行任何类型的软件测试的,可以根据产品的具体情况进行组装测试不同的类型
缺陷管理
软件测试的主要目的在于发现软件存在的错误(Bug),对于如何处理测试中发现的错误,
将直接影响到测试的效果。
只有正确、迅速、准确地处理这些错误,才能消除软件错误,保证要发布的软件符合需求设计的目标。
在实际软件测试过程中,对于每个Bug都要经过测试、确认、修复、验证等的管理过程,这是软件测试的重要环节。
错误跟踪管理系统
为了正确跟踪每个软件错误的处理过程,通常将软件测试发现的每个错误作为一条条记录
输入制定的错误跟踪管理系统。
目前已有的缺陷跟踪管理软件包括Compuware公司的TrackRecord软件(商业软件)、
Mozilla公司的Buzilla软件(免费软件),以及国内的微创公司的BMS软件,这些软件在功能上各有特点,可以根据实际情况选用。
当然,也可以自己开发缺陷跟踪软件,例如基于Notes或是ClearQuese开发缺陷跟踪管理软件。
作为一个缺陷跟踪管理系统,需要正确设计每个错误的包含信息的字段内容和记录错误的
处理信息的全部内容。
字段内容可能包括测试软件名称,测试版本号,测试人名称,测试事
件,测试软件和硬件配置环境,发现软件错误的类型,错误的严重等级,详细步骤,必要的附图,测试注释。
处理信息包括处理者姓名,处理时间,处理步骤,错误记录的当前状态。
正确的数据库权限管理是错误跟踪管理系统的重要考虑要素,一般要保证对于添加的错误
不能从数据库中删除。
软件错误的状态
新信息(New):
测试中新报告的软件缺陷;
打开(Open):
被确认并分配给相关开发人员处理;
修正(Fixed):
开发人员已完成修正,等待测试人员验证;
拒绝(Declined):
拒绝修改缺陷;
延期(Deferred):
不在当前版本修复的错误,下一版修复
关闭(Closed):
错误已被修复;
Bug管理的一般流程
测试人员提交新的Bug入库,错误状态为New。
高级测试人员验证错误,如果确认是错误,分配给相应的开发人员,设置状态为Open。
如果不是错误,则拒绝,设置为Declined状态。
开发人员查询状态为Open的Bug,如果不是错误,则置状态为Declined;如果是Bug则修复并置状态为Fixed。
不能解决的Bug,要留下文字说明及保持Bug为Open状态。
对于不能解决和延期解决的Bug,不能由开发人员自己决定,一般要通过某种会议(评审
会)通过才能认可。
测试人员查询状态为Fixed的Bug,然后验证Bug是否已解决,如解决置Bug的状态为
Closed,如没有解决置状态为Reopen。
软件错误流程管理要点
为了保证错误的正确性,需要有丰富测试经验的测试人员验证发现的错误是否是真正的错
误,书写的测试步骤是否准确,可以重复。
每次对错误的处理都要保留处理信息,包括处理姓名,时间,处理方法,处理意见,Bug
状态。
拒绝或延期错误不能由程序员单方面决定,应该由项目经理,测试经理和设计经理共同决
定。
错误修复后必须由报告错误的测试人员验证后,确认已经修复,才能关闭错误。
加强测试人员与程序员的交流,对于某些不能重复的错误,可以请测试人员补充详细的测
试步骤和方法,以及必要的测试用例。
软件开发模型
软件开发模型主要有以下几类
1,瀑布模型:
这是最传统的软件开发模型,即分析-设计-编码-测试,但它的不可以回复性决定了它的使用局限性,它适合于开发中需求变更极少,代码质量较高以及开发人员的水平极高的软件,虽然它具有以上的局限性,但是它是下面软件开发模型的基础;
2,螺旋模型和跌代模型:
这两个模型虽然有各自不同的定义,但是实践起来是相同的,它将软件需求按照优先等级,分阶段,分周期开发,每个周期产生一套相对独立的软件产品。
这个模型适合于需求变化比较多,最后结果不容易被预料的软件。
使用这种模型,软件错误可以尽早被发现。
3,喷泉模型:
这个模型在软件开发的任何一个阶段都可以返回到以前的阶段的软件模型,比如分析-概要设计-分析-概要设计-详细设计-编码-概要设计-详细设计-编码-测试。
适合于需求变化频繁,项目时间不紧张的软件模型
4,XP模型:
这种模型没有分析和设计期间,一边编码一边测试,没有任何文档产生。
它适合于项目非常紧张的软件
软件测试模型
软件测试模型主要有V模型,X模型,OO模型。
考虑到公司软件的特性,决定采用V模型进行测试工作,下面主要介绍这种模型
需求分析
需求分析期间,测试的主要工作为
审核需求分析报告:
需求中是否存在不合理现象;需求是否可以被实现
召开需求评审会议:
评审会议项目经理,系统分析师,用户代表,客户,测试设计师参加
书写验收测试计划
概要设计
概要设计期间,测试的主要工作为
审核概要设计报告:
概要设计是否符合全部需求,概要设计是否存在问题
召开概要设计评审会议:
由项目经理,系统分析师,系统设计师,设计师,测试设计师,技术专家参加
书写系统测试计划
详细设计
详细设计期间,测试的主要工作为
审核详细设计报告:
详细设计是否符合全部需求,详细设计是否存在问题
召开详细设计评审会议:
由项目经理,系统设计师,设计师,编码人员,测试设计师参加
书写集成测试计划:
开发
开发期间测试主要工作为
召开开发指南评审会议:
由项目经理,设计师,开发员参加
书写个阶段测试用例
召开测试用例评审会议:
由项目经理,测试设计师,测试工程师参加
设计(由测试设计师设计)并书写测试脚本(由开发人员书写)
开发后期,由开发人员对开发的模块进行单元测试
集成测试
按照模块上下集关系,进行从上到下或者从下到上的集成测试方法进行集成测试,单元测试与集成测试主要考虑功能性测试。
同时也要对模个模块或者集成模块进行非功能性的抽样测试。
系统测试
对整合系统进行整合测试,这时的测试主要测试系统的整体功能和全部非功能性的需求。
验收测试
验收测试首先进行正规性的测试,即由技术人员模拟各户环境,以用户的身份进行安装和测试工作。
然后进行非正规测试alpha测试和bate测试。
Alpha测试
由公司内部开发人员模拟用户进行测试,这个时候还允许对需求做些修改工作
Bate测试
alpha测试后将产品提交给某些特定用户,进行测试,注意这是的软件一定要有使用时间限制,这时候冻结系统需求
开发周期所需要产生的文档
立项前期
项目合同
可行性分析报告
项目计划书
需求分析期
需求规格说明书
需求规格审核报告
需求规格评审报告
验收测试计划书
概要设计期
概要设计书
概要设计审核报告
概要设计评审报告
系统测试计划书
详细设计期
数据库设计
详细设计书
详细设计审核报告
详细设计评审报告
集成测试计划书
编码前期
编码规范
编码
测试脚本
测试用例
测试脚本设计书
编码后期
单元测试报告
集成测试期
集成测试报告
系统测试期
系统测试报告
验收测试期
验收测试报告
后期
使用手册
配置指南
广告材料
测试总结报告(决定产品是否可以发布)
蓝色为可选项
环境
为了保证软件版本的控制,需要建立三个环境,开发环境,测试环境以及发布环境
开发环境:
软件产品开发工作所用的环境
测试环境:
软件测试工作所用的环境
发布环境:
软件发布运行的环境
软件在各个环境中的迁移:
1.当软件经过开发完毕,将软件产品移植到测试环境进行测试,这样测试和开发工作可以相互独立,互不影响;
2.当软件测试完成发现错误,开发人员在开发环境中修改错误,修改好后,打成数据包,传输到测试环境进行回归测试;
3.当软件决定发布时,将软件从测试环境移植到发布环境,供用户使用
开发环境与测试环境独立的好处是使开发工作与测试工作相互互不影响。
测试,开发环境与发布环境独立的好处是使研发工作与用户使用相互独立。
概述
软件的错误是不可避免的,所以必须经过严格的测试。
通过对本软件的测试,尽可能的发现软件中的错误,借以减少系统内部各模块的逻辑,功能上的缺陷和错误,保证每个单元能正确地实现其预期的功能。
检测和排除子系统(或系统)结构或相应程序结构上的错误,使所有的系统单元配合合适,整体的性能和功能完整。
并且使组装好的软件的功能与用户要求一致。
测试资源和环境
硬件配置
关键项
数量
性能要求
期望到位阶段
测试PC机
1
P4,主频2.6GHZ,硬盘300G,内存2G,此配置是实际用机
需求分析阶段
数据库服务器
1
P4,主频2.6GHZ,硬盘300G,内存2G,此配置是实际用机
需求分析阶段
软件配置
资源名称/类型
配置
操作系统环境:
操作系统主要分为windowsXP,windows7。
其中windowsXP和windows7是重点测试对象
浏览器环境:
主流浏览器有:
IE浏览器(IE8/9)。
此测试根据开发提供依据决定测试范围
功能性测试工具
手工测试
测试管理工具
Bugfree
测试数据
本方案的测试数据来源于测试需求及测试用例。
测试策略
系统测试类型及各种测试类型所采用的方法、工具等介绍如下:
功能测试
测试范围
验证数据精确度、数据类型、业务功能等相关方面的正确性
测试目标
核实所有功能均已正常实现,即是否与需求一致
技术
采用黑盒测试、边界测试、等价类划分等测试方法
工具与方法
手工测试
开始标准
开发阶段对应的功能完成并且测试用例设计完成
完成标准
测试用例通过并且最高级缺陷全部解决
需考虑的特殊事项
用户界面(UI)测试
测试范围
1.导航、链接、Cookie、页面结构包括菜单、背景、颜色、字体、按钮名称、TITLE、提示信息的一致性等。
2.友好性、可操作性(易用性)
测试目标
核实各个窗口风格(包括颜色、字体、提示信息、图标、TITLE等等)都与需求保持一致,或符合可接受标准,能够保证用户界面的友好性、易操作性,而且符合用户操作习惯。
技术
WEB测试通用方法
工具与方法
手工测试、目测
开始标准
界面开发完成
完成标准
UI符合可接受标准,能够保证用户界面的友好性、易操作性,而且符合用户操作习惯
测试重点与优先级
需考虑的特殊事项
性能测试
测试范围
多用户长时间在线操作时性能方面的测试
测试目标
核实系统在大流量的数据与多用户操作时软件性能的稳定性,不造成系统崩溃或相关的异常现象
技术
手工测试、自动化测试
开始标准
自动化测试脚本设计并评审通过且项目组移交系统测试
完成标准
系统满足用户需求中所要求的性能要求
测试重点与优先级
需考虑的特殊事项
安全性测试
测试范围
1.用户、管理员的密码安全
2.权限
3.非法攻击
测试目标
1.用户、管理员的密码管理
2.应用程序级别的安全性:
核实用户只能操作其所拥有权限能操作的功能。
3.系统级别的安全性:
核实只有具备系统访问权限的用户才能访问系统。
技术
代码包或者非法攻击工具
工具与方法
手工测试
开始标准
功能测试完成
完成标准
执行各种非法操作无安全漏洞且系统使用正常
测试重点与优先级
需考虑的特殊事项
兼容性测试
测试范围
1.使用不同版本的不同浏览器、分辨率、操作系统分别进行测试。
2.不同操作系统、浏览器、分辨率和各种运行软件等各种条件的组合测试。
测试目标
核实系统在不同的软件和硬件配置中运行稳定
技术
黑盒测试
工具与方法
手工测试
开始标准
项目组移交系统测试
完成标准
在各种不同版本不同类项浏览器、操作系统或者其组合下均能正常实现其功能(此测试根据开发提供依据决定测试范围)
测试重点与优先级
需考虑的特殊事项
回归测试
测试范围
所有功能、用户界面、兼容性、安全性等测试类型
测试目标
核实执行所有测试类型后功能、性能等均达到用户需求所要求的标准
技术
黑盒测试
工具与方法
手工测试和自动化测试
开始标准
每当被测试的软件或其环境改变时在每个合适的测试阶段上进行回归测试
完成标准
95%的测试用例执行通过并通过系统测试
测试重点与优先级
测试优先级以测试需求的优先级为参照
需考虑的特殊事项
软硬件设备问题
测试实施阶段
测试类型
测试阶段
单元测试
集成测试
系统测试
验收测试
功能测试
X
✓
✓
X
性能测试
X
✓
✓
X
安全性测试
X
✓
✓
X
兼容性测试
X
✓
✓
X
用户界面(UI)测试
X
✓
X
回归测试
每当被测试的软件或其环境改变时在每个合适的测试阶段上进行回归测试
备注:
“✓”表示由测试组执行,“X”表示由项目组执行;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 方案