tfundationWord格式.docx
- 文档编号:21187489
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:38
- 大小:52.29KB
tfundationWord格式.docx
《tfundationWord格式.docx》由会员分享,可在线阅读,更多相关《tfundationWord格式.docx(38页珍藏版)》请在冰豆网上搜索。
白盒测试方法包括哪些?
白盒测试是对软件的过程性细节做细致的检查。
是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。
通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。
因此白盒测试又称为结构测试或逻辑驱动测试。
白盒测试方法包括:
语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖等
软件测试策略都包含哪些?
根据软件测试工作的测试策略,一般将软件测试过程分为:
单元测试、集成测试、系统测试、验收测试四个大的阶段。
什么是单元测试?
单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。
它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。
一个软件单元的正确性是相对于该单元的规约(详细设计)而言的。
因此,单元测试以被测试单位的规约为基准。
单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等。
什么是集成测试?
集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。
它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。
集成测试的策略主要有自顶向下和自底向上两种。
测试的热情:
测试新人最应该具备的就是测试的热情。
因为这是一项事业,一项庞大的工程。
系统的灵魂师!
什么是系统测试?
统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。
因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比。
软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。
什么是验收测试?
验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。
它的测试数据通常是系统测试的测试数据的子集。
所不同的是,验收测试常常有软件系统的购买者代表在现场,甚至是在软件安装使用的现场。
这是软件在投入使用之前的最后测试。
什么是自动化测试?
一般我们谈到的自动化测试,其实是有两种说法的,一种是TestAutomation,翻译过来叫测试自动化,侧重说明将测试用自动化设计和实现的过程;
另外一种是AutomatedTesting/Test,翻译过来叫自动化测试,侧重说明自动的测试软件,可以是自动测试软件的功能或者性能等。
表面上看两种是有区别的,但现在我们用的多了,在提到自动化测试时,也就不区分了,基本上代表了一个意思,即:
自动化测试是通过工具(程序)来对软件进行测试,一般不需要人为干预或干预很少。
AutomatedTesting/TestAutomation:
1、Testingemployingsoftwaretoolswhichexecutetestswithoutmanualintervention.CanbeappliedinGUI,performance,API,etc.testing.
使用自动化测试工具来进行测试,这类测试一般不需要人干预,通常在GUI、性能等测试中用得较多。
2、Theuseofsoftwaretocontroltheexecutionoftests,thecomparisonofactualoutcomestopredictedoutcomes,thesettingupoftestpreconditions,andothertestcontrolandtestreportingfunctions.Commonly,testautomationinvolvesautomatingamanualprocessalreadyinplacethatusesaformalizedtestingprocess.
使用软件来控制测试的执行,实际输出和预期输出的对比,测试前提条件的构建,以及其他测试控制条件和测试报告功能。
通常,测试自动化涉及自动化对一个已经使用了正式的测验流程的手工过程。
显而易见,第二种定义具体,且涵盖了多数情况,特别是只提及软件,而不是一定是“自动化测试工具”,而且不一定自动化测试步骤才叫自动化测试,很多情况下测试前提条件的自动化也是很重要而且很值得自动化的。
什么是Alpha和Beta测试?
Alpha测试由用户在开发者的场所进行,并且在开发者对用户的“指导”下进行测试。
开发者负责记录发现在错误和使用中遇到的问题。
总之,Alpha测试是在受控的环境中进行的。
Beta测试由软件的最终用户们在一个或多个客房场所进行。
与Alpha测试不同,开发者通常在Beta测试的现场,因Beta测试是软件在开发者不能控制的环境中的“真实”应用。
用户Beta测试过程中遇到的一切问题(真实在或想像的),并且定期把这些问题报告给开发者。
接收到在Beta测试期间报告的问题之后,开发者对软件产品进行必要的修改,并准备向全体客户发布最终的软件产品。
什么是功能测试?
Functionaltesting(功能测试),也称为behavioraltesting(行为测试),根据产品特征、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。
本地化软件的功能测试,用于验证应用程序或网站对目标用户能正确工作。
使用适当的平台、浏览器和测试脚本,以保证目标用户的体验将足够好,就像应用程序是专门为该市场开发的一样。
功能测试也叫黑盒子测试或数据驱动测试,只需考虑各个功能,不需要考虑整个软件的内部结构及代码.一般从软件产品的界面、架构出发,按照需求编写出来的测试用例,输入数据在预期结果和实际结果之间进行评测,进而提出更加使产品达到用户使用的要求。
什么是性能测试?
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
负载测试和压力测试都属于性能测试,两者可以结合进行。
通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。
压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。
什么是冒烟测试?
冒烟测试(smoketesting),据说是微软起的名字。
在《微软项目求生法则》一书第14章“构建过程”关于冒烟测试,就是开发人员在个人版本的软件上执行目前的冒烟测试项目,确定新的程序代码不出故障。
冒烟测试的名称可以理解为该种测试耗时短,仅用一袋烟功夫足够了。
也有人认为是形象地类比新电路板功基本功能检查。
任何新电路板焊好后,先通电检查,如果存在设计缺陷,电路板可能会短路,板子冒烟了。
冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。
冒烟测试的执行者是版本编译人员。
在一般软件公司的软件编写过程中,内部需要编译多个版本(Build),但是只有有限的几个版本需要执行正式测试(根据项目开发计划),这些需要执行的中间测试版本,在刚刚编译出来后,软件编译人员需要进行基本性能确认测试,例如是否可以正确安装/卸载,主要功能是否实现,是否存在严重死机或数据严重丢失等Bug。
如果通过了该测试,则可以根据正式测试文档进行正式测试。
否则,就需要重新编译版本,再次执行版本可接收确认测试,直到成功。
新版本的基本功能确认检查的测试,有的公司称为版本健康检查(BuildSanityCheck)。
对于编译的本地化软件新版本,除了进行上面提到的各种测试检查,还要检查是否在新的本地化版本中正确包含了全部应该本地化的文件。
可以通过采用文件和目录结构比较工具,首先比较源语言版本和本地化版本的文件和目录中的文件数目、文件名称和文件日期等,这个过程称为版本镜像检查(BuildImageCheck)。
其次,分别安装源语言版本和本地化版本,比较安装后的文件和目录结构中的文件数目、文件名称和文件日期等,这个过程称为版本安装检查(BuildInstallingCheck)。
什么是随机测试?
在软件测试中除了根据测试样例和测试说明书进行测试外,还需要进行随机测试(Ad-hoctesting),主要是根据测试者的经验对软件进行功能和性能抽查。
随机测试是根据测试说明书执行样例测试的重要补充手段,是保证测试覆盖完整性的有效方式和过程。
随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试样例(TestCase)没有覆盖到的部分。
另外,对于软件更新和新增加的功能要重点测试。
须注意针对一些特殊情况点、特殊的使用环境和可能并发性问题进行检查。
尤其对以前测试发现的重大Bug,进行再次测试,可以结合回归测试(Regressivetesting)一起进行。
理论上,每一个被测软件版本都需要执行随机测试,尤其对于最后的将要发布的版本更要重视随机测试。
随机测试最好由具有丰富测试经验的熟悉被测软件的测试人员进行测试。
对于被测试的软件越熟悉,执行随机测试越容易。
只有不断的积累测试经验,包括具体的测试执行和对缺陷跟踪记录的分析,不断总结,才能提高。
什么是动态测试和静态测试?
动态方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能,这种方法由三部分组成:
构造测试实例、执行程序、分析程序的输出结果。
所谓软件的动态测试,就是通过运行软件来检验软件的动态行为和运行结果的正确性。
目前,动态测试也是公司的测试工作的主要方式。
静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。
静态方法通过程序静态特性的分析,找出欠缺和可疑之处,例如不匹配的参数、不适当的循环嵌套和分支嵌套、不允许的递归、未使用过的变量、空指针的引用和可疑的计算等。
静态测试结果可用于进一步的查错,并为测试用例选取提供指导。
什么是测试用例?
测试用例(TestCase)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。
测试用例(TestCase)目前没有经典的定义。
比较通常的说法是:
指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。
内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。
测试用例(TestCase)是将软件测试的行为活动做一个科学化的组织归纳.目的是能够将软件测试的行为转化成可管理的模式;
同时测试用例也是将测试具体量化的方法之一.
软件测试类型有哪些?
软件测试是指使用人工或者自动的手段来运行或测定某个软件产品系统的过程,其目的是在于检验是否满足规定的需求或者弄清预期的结果与实际结果的区别。
本文主要描述软件测试的类型
1.数据和数据库完整性测试
数据与数据库完整测试是指测试关系型数据库完整性原则以及数据合理性测试。
数据库完整性原即:
主码完整性:
主码不能为空;
外码完整性:
外码必须等于对应的主码或者为空。
数据合理性指数据在数据库中的类型,长度,索引等是否建的比较合理。
在项目名称中,数据库和数据库进程应作为一个子系统来进行测试。
在测试这些子系统时,不应将测试对象的用户界面用作数据的接口。
对于数据库管理系统(DBMS),还需要进行深入的研究,以确定可以支1持测试的工具和技术。
比如,有两张表:
部门和员工。
部门中有部门编号,部门名称,部门经理等字段,主码为部门编号;
员工表中有员工编号,员工所属部门编号,员工名称,员工类型等字段,主码为员工编号,外码为员工所属部门编号,对应部门表。
如果在某条部门记录中部门编号或员工记录员工编号为空,他就违反主码完整性原则。
如果某个员工所属部门的编号为##,但是##在部门编号中确找不到,这就违反外码完整性原则。
员工类型如下定义:
0:
职工,1:
职员,2:
实习生。
但数据类型为Int,我们都知道Int占有4个字节,如果定义成char
(1).就比原来节约空间。
2.白盒测试
白盒测试是基于代码的测试,测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量,一般黑盒测试由项目经理在程序员开发中来实现。
白盒测试分为动态白盒测试和静态白盒测试
2.1静态白盒测试
利用眼睛,浏览代码,凭借经验,找出代码中的错误或者代码中不符合书写规范的地方。
比如,代码规范中规定,函数必须为动宾结构。
而黑盒测试发现一个函数定义如下:
FunctionNameGet(){
….
}
这是属于不符合开发规范的错误。
有这样一段代码:
if(i<
0)&
(i>
=0)
…
这段代码交集为整个数轴,IF语句没有必要
I=0;
while(I>
100){
J=J+100;
T=J*PI;
在循环体内没有I的增加,bug产生。
2.2动态白盒测试
利用开发工具中的调式工具进行测试。
比如一段代码有4个分支,输入4组不同的测试数据使4组分支都可以走通而且结果必须正确。
看一段代码
if(I<
0){
P1
}else{
P2
在调试中输入I=-1,P1程序段通过,P2程序段未通过,属于动态黑盒测试的缺陷
3.功能测试
功能测试指测试软件各个功能模块是否正确,逻辑是否正确。
对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。
这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。
此类测试基于黑盒技术,该技术通过图形用户界面(GUI)与应用程序进行交互,并对交互的输出或结果进行分析,以此来核实应用程序及其内部进程。
功能测试的主要参考为类似于功能说明书之类的文档。
比如一个对电子商务系统,前台用户浏览商品-放入购物车-进入结账台,后台处理订单,配货,付款,发货,这一系列流程必须正确无误的走通,不能存在任何的错误。
4.UI测试
UI测试指测试用户界面的风格是否满足客户要求,文字是否正确,页面美工是否好看,文字,图片组合是否完美,背景是否美观,操作是否友好等等
用户界面(UI)测试用于核实用户与软件之间的交互。
UI测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。
另外,UI测试还可确保UI中的对象按照预期的方式运行,并符合公司或行业的标准。
包括用户友好性,人性化,易操作性测试。
UI测试比较主观,与测试人员的喜好有关
比如:
页面基调颜色刺眼;
用户登入页面比较难于找到,文字中出现错别字,页面图片范围太广等都属于UI测试中的缺陷,但是这些缺陷都不太严重。
5.性能测试
性能测试主要测试软件测试的性能,包括负载测试,强度测试,数据库容量测试,基准测试以及基准测试
5.1负载测试
负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担。
在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。
负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。
此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。
比如,在B/S结构中用户并发量测试就是属于负载测试的用户,可以使用webload工具,模拟上百人客户同时访问网站,看系统响应时间,处理速度如何?
5.2强度测试
强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况。
这类测试往往可以书写系统要求的软硬件水平要求。
实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。
如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。
而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。
强度测试还可用于确定测试对象能够处理的最大工作量。
一个系统在内存366M下可以正常运行,但是降低到258M下不可以运行,告诉内存不足,这个系统对内存的要求就是366M。
5.3数据库容量测试
数据库容量测试指通过存储过程往数据库表中插入一定数量的数据,看看相关页面是否能够及时显示数据。
数据库容量测试使测试对象处理大量的数据,以确定是否达到了将使软件发生故障的极限。
容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。
例如,如果测试对象正在为生成一份报表而处理一组数据库记录,那么容量测试就会使用一个大型的测试数据库,检验该软件是否正常运行并生成了正确的报表。
做这种测试通常通过书写存储过程向数据库某个表中插入一定数量的记录,计算相关页面的调用时间。
比如,在电子商务系统中,通过insertcustomer往user表中插入10000数据,看其是否可以正常显示顾客信息列表页面,如果要求达到最多可以处理100000个客户,但是顾客信息列表页面不能够在规定的时间内显示出来,就需要调整程序中的SQL查询语句;
如果在规定的时间内显示出来,可以将用户数分别提高到20000,50000,100000进行测试。
5.4基准测试
基准测试与已知现有的系统进行比较,主要检验是否与类似的产品具有竞争性的一种测试。
如果你要开发一套财务系统软件并且你已经获得用友财务系统的性能等数据,你可以测试你这套系统,看看哪些地方比用友财务系统好,哪些地方差?
以便改进自己的系统,也可为产品广告提供数据。
5.5竞争测试
软件竞争使用各种资源(数据纪录,内存等),看他与其他相关系统对资源的争夺能力。
比如:
一台机器上即安装您的财务系统,又安装用友财务系统。
当CPU占有率下降后,看看是否能够强过用友财务系统,而是自己的系统能够正常运行?
6.安全性和访问控制测试
安全性和访问控制测试侧重于安全性的两个关键方面:
应用程序级别的安全性,包括对数据或业务功能的访问
系统级别的安全性,包括对系统的登录或远程访问。
6.1应用程序级别的安全性
可确保:
在预期的安全性情况下,主角只能访问特定的功能或用例,或者只能访问有限的数据。
例如,可能会允许所有人输入数据,创建新账户,但只有管理员才能删除这些数据或账户。
如果具有数据级别的安全性,测试就可确保“用户类型一”能够看到所有客户消息(包括财务数据),而“用户二”只能看见同一客户的统计数据。
比如B/S系统,不通过登入页面,直接输入URL,看其是否能够进入系统?
6.2系统级别的安全性
可确保只有具备系统访问权限的用户才能访问应用程序,而且只能通过相应的网关来访问。
比如输入管理员账户,检查其密码是否容易猜取,或者可以从数据库中获得?
7.故障转移和恢复测试
故障转移和恢复测试指当主机软硬件发生灾难时候,备份机器是否能够正常启动,使系统是否可以正常运行,这对于电信,银行等领域的软件是十分重要的。
故障转移和恢复测试可确保测试对象能成功完成故障转移,并能从导致意外数据损失或数据完整性破坏的各种硬件、软件或网络故障中恢复。
故障转移测试可确保:
对于必须持续运行的系统,一旦发生故障,备用系统就将不失时机地“顶替”发生故障的系统,以避免丢失任何数据或事务。
恢复测试是一种对抗性的测试过程。
在这种测试中,将把应用程序或系统置于极端的条件下(或者是模拟的极端条件下),以产生故障(例如设备输入/输出(I/O)故障或无效的数据库指针和关健字)。
然后调用恢复进程并监测和检查应用程序和系统,核实应用程序或系统和数据已得到了正确的恢复。
一定要注意主备定时备份
比如电信系统,突然主机程序发生死机,备份机器是否能够启动,使系统能够正常运行,从而不影响用户打电话?
8.配置测试
又叫兼容性测试。
配置测试核实测试对象在不同的软件和硬件配置中的运行情况。
在大多数生产环境中,客户机工作站、网络连接和数据库服务器的具体硬件规格会有所不同。
客户机工作站可能会安装不同的软件例如,应用程序、驱动程序等而且在任何时候,都可能运行许多不同的软件组合,从而占用不同的资源。
(如浏览器版本,操作系统版本等)
下面列出主要配置测试
8.1浏览器兼容性
测试软件在不同产商的浏览器下是否能够正确显示与运行;
比如测试IE,Natscape浏览器下是否可以运行这套软件?
8.2操作系统兼容性
测试软件在不同操作系统下是否能够正确显示与运行;
比如测试WINDOWS98,WINDOWS2000,WINDOWSXP,LINU,UNIX下是否可以运行这套软件?
8.3硬件兼容性
测试与硬件密切相关的软件产品与其他硬件产品的兼容性,比如该软件是少在并口设备中的,测试同时使用其他并口设备,系统是否可以正确使用.
比如在INTER,舒龙CPU芯片下系统是否能够正常运行?
这样的测试必须建立测试实验室,在各种环境下进行测试。
9.安装测试
安装测试有两个目的。
第一个目的是确保该软件在正常情况和异常情况的不同条件下:
例如,进行首次安装、升级、完整的或自定义的安装_都能进行安装。
异常情况包括磁盘空间不足、缺少目录创建权限等。
第二个目的是核实软件在安装后可立即正常运行。
这通常是指运行大量为功能测试制定的测试。
安装测试包括测试安装代码以及安装手册。
安装手册提供如何进行安装,安装代码提供
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- tfundation