测试类型.docx

上传人:b****7 文档编号:10792305 上传时间:2023-02-22 格式:DOCX 页数:17 大小:27.33KB
下载 相关 举报
测试类型.docx_第1页
第1页 / 共17页
测试类型.docx_第2页
第2页 / 共17页
测试类型.docx_第3页
第3页 / 共17页
测试类型.docx_第4页
第4页 / 共17页
测试类型.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

测试类型.docx

《测试类型.docx》由会员分享,可在线阅读,更多相关《测试类型.docx(17页珍藏版)》请在冰豆网上搜索。

测试类型.docx

测试类型

测试一般是放在系统完成后进行测试,但今天,却常常听到资深开发人员劝导新人们:

“测试是开发的第一步”。

这句话如何理解呢?

如果从日本人发明的巴克质量管理的方式去理解,大概是指每一个环节交给下一级时都应该进行测试。

有些测试对后面的操作没有太大的影响,如图片不漂亮、菜单不合理、布局很难看之类;而另一些,却直接让下一级无法开始工作,象用例不清晰、用例自相矛盾、组件内部错误、框架不合理等等。

  固然,一级级把关,可以把质量提高到至少一个档次以上;但就每一个环节而言,仍然是在开发的最后阶段。

所以,看来本人的水平还是不到家,“测试是开发的第一步”难以理解,惟一可理解的就是规范先行、文档先行、文档规范化总应该是在编码以前,这也是QA的主要内容;大概这还多少算解释得通。

这样,测试和规范两样东西就重合起来了,从严格角度看,测试就是测试,规范归入规范,还是从模块(项目)后的测试开始理解吧;所以所有关于编程和文档、设计规范的内容本人全部不纳入测试讨论范围。

或者说,我们重点放在QC上,而不是着眼于规范的QA,尽管那也非常重要。

  单元测试(Unittest):

是针对模块组件或方法的测试。

在本人的操作中,一般是开发员工作范围内的测试;在具备组件接口规范的情况下,一般需要做一个测试工具模拟调用环境,编写测试实例,通过断点情况监视模块实际工作是否正常。

一股采用这种方式开发的单一功能模块质量都是非常高的。

但是如果没有统一的模块规范,那么开发与测试的工作量接近一比一;但如果模块是按统一的标准开发的,那么同一套测试套件就可以用到各个模件上,从而节省了测试时间。

本人认为这属于开发部门工作范围内的测试,与QA/QC部门没有什么大的关系,事实上,在这一层次的用例也不是QC可以做到和理解的。

  白箱测试:

在理解内部流程的情况下针对逻辑流程设计测试实例,目的是找出极限边缘以及内在的逻辑错误。

单元测试中白箱测试的比例很高,(原因不难理解,还有谁比作者自己更理解模块的构造流程的)。

  黑箱测试:

这是QC部门的主要工作。

黑箱测试主要在于编写测试实例。

不过在实际操作中,都是把最不懂技术的成员分配做测试,最高技术水平就是会用VSS,所以也就别指望编什么测试实例。

所谓的黑箱测试,常常是对着菜单按钮,这个按下去,噢,有东西出来了,对的,打个勾——其实,这时侯的实例就是一个个按下去然后看看有没有输出,而且只限于界面方面,内在的部分和边缘情况大概是不用指望的。

但据作者所知,在CMM达到四以上的国外软件公司中,黑箱测试是对软件评价的最主要方式,通过合适的测试实例,除了最常见的可用性测试外,还包括压力测试,和怪用测试(Monkeytest)。

  压力测试:

评价一个系统极限可以承受的压力是多少,同时在超负荷后的的响应情况;同时,在极限状况下,一些平时不太出现的bug也会浮现出来。

所以,这个测试作者认为不应该单独由QC部门进行,而应该由开发部门与QC部门联合进行。

理想的系统在极限测试状况下就算响应不及,也不至于当机,并在负荷恢复正常后一段时间内可以恢复正常运转。

这时当初对Windows恶评的原因之一:

像网站一旦超出100-200个concurrent,Windows不但罢工还死掉了;不得不重启系统(当然,Windows任意硬重启都能死鱼翻生,大多数情况下吧,也属一种难能可贵的优点);而linux在超出负荷后一般情况下下降曲线不至于太明显——不过这也不是绝对的,作者就发现一旦Linux在极限状态下进入内存抖动时,死相和Windows差不了多少;所以内存不至于耗干是Linux可靠性能超过Windows的重要因素。

 

项目开发中软件测试类型的分类

 回归测试:

在修改其中一个模块后看其他模块有什么问题。

作者认为这个测试是过程化程序的观念产物,在模块化软件中相互耦合程度低,而且服从统一的调动协议,是不是修改真是自家里的事情,和他人(模块)没有半点相干。

  整体测试:

把不同的模块连结后,看看联合工作情况如何。

这实际上是对接口协议的测试。

作者认为是可以作为接口互动部分的设计一部分工作,没有必要摆出来作为流程之一。

同理还有系统测试,反正最后整个系统运行起来是什么情况。

看似大,但如果前面已经做到好好的,这里如果出问题那才叫怪呢!

  Alpha测试:

放任内部成员胡作非为的测试;

  Beta测试:

让全世界的坏人都胡作非为的测试。

  过了这一关后,大概应该可以了吧?

?

在欧洲美国日本的规范的软件公司大概是可以了。

但在中国可不见得,许多时侯业务需求人员会蹦出来说:

“不是这个样子的!

”早的时侯他不知上那里去了!

或者“加上另一个什么功能吧?

”,早的时侯他大概是睡觉了。

大家伙儿前面做的事情,就冲这两句话就全废了,全部事情得从中间某个环节重来,这才叫恶梦。

这时,与其顺着他们老哥胡说八道跑,不如找出合同来一条条地仔细颁下去。

测试类型有哪些?

1功能测试:

完全不考虑程序内部逻辑结构,针对软件界面和功能进行测试。

检查程序功能是否符合需求规格说明书的规定。

2.性能测试:

是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

负载测试和压力测试都属于性能测试,两者可以结合进行

3.负载测试:

测试一个应用在不同负荷下的表现,例如测试一个Web站点在大量的负荷下,何时系统的响应会退化或失败。

4、强迫测试:

在交替进行负荷和性能测试时常用的术语。

也用于描述在异乎寻常的重载下的系统功能测试之类的测试,如某个动作或输入大量的重复,大量数据的输入,对一个数据库系统大量的复杂查询等。

5.可用性测试:

对“用户友好性”的测试。

显然这是主观的,且将取决于目标最终用户或客户。

用户面谈、调查、用户对话和录象及其他一些技术都可使用。

程序员和测试员通常都不宜做可用性测试。

6.安装/卸载测试:

对软件的全部、部分或升级安装/卸载处理过程的测试。

7.恢复测试:

测试一个系统从异常中能否很好地恢复,如遇到系统崩溃、硬件损坏或其他灾难性问题。

8.安全测试:

测试系统在防止非授权的内部或外部用户的访问或故意破坏等情况时怎么样。

这可能需要复杂的测试技术。

9.兼容测试:

测试软件在一个特定的硬件/软件/操作系统/网络等环境下的性能如何。

10.比较测试:

与竞争伙伴的产品的比较测试,如软件的弱点、优点或实力。

11.Alpha测试:

在系统开发接近完成时对应用系统的测试;测试后,仍然会有少量的设计变更。

这种测试一般由用户代表完成,测试员记录问题。

12.Beta测试:

当开发和测试完成后对Beta版本所做的测试,这种测试一般由最终用户完成,不能由程序员或测试员完成。

软件测试技术分类:

一、静态测试—不实际运行程序,而是通过检查和阅读等手段来发现错误并评估代码质量的软件测试技术,也称静态分析技术

二、

1)代码走查---开发部内部进行的,通过讲解,讨论或模拟运行等来找到错误的方法

2)技术评审—开发组,测试组和相关人员(QA,产品经理等)联合进行的,采用讲解,提问并使用checklist方式进行的查找错误的活动;一般有正式的计划,流程和结果报告。

3)代码审查—开发部内部进行的,采用讲解,提问并使用checklist方式进行的查找错误的活动;一般有正式的计划,流程和结果报告。

二、动态测试---实际运行程序,并通过观察程序运行的实际结果来发现错误的软件测试技术

1)黑盒测试—在不知道程序内部结构,只知道程序规格的情况下采用的测试技术或策略。

---

功能测试---针对要求的程序功能,按照规范的要求进行测试

性能测试—针对要求的程序功能以外的其他要求,包括性能,安全,配置,负载等指标,按照规范的要求进行测试。

攻击测试—基于破坏目的和经验进行的随机测试

2)白盒测试—在知道程序内部结构的情况下采用的测试技术或策略

语句覆盖—在测试过程中,选择足够的测试用例,使得每一个可执行语句至少被执行一次。

分支覆盖---在测试过程中,选择足够的测试用例,使得程序中的每一个分支判断的每一种可能结果都至少被执行一次。

路径覆盖---在测试过程中,选择足够的测试用例,使得程序中的每一条可能执行的路径都至少执行一次。

3)回归测试---程序修改或版本更新以后,为了确保以前正确的功能和其他指标仍旧正确,而重新进行的测试。

软件测试的十六种测试类型

1功能测试(10个方面)

  菜单、工具栏、快捷键、下拉框、按钮、单选按钮、复选按钮、切换、链接、触发键

 2 界面测试

  登陆界面、总界面、输入界面(增、删、改、查)、处理界面、输出界面、报表界面、提示界面

 3容错测试

  数据长度、数据类型、非法此操作

 4接口测试

  接口测试也叫业务流程测试(包括功能模块之间、模块与模块之间、子系统之间)

  内部接口:

例如:

导入、导出(通俗的讲是接口就是调用)

  外部接口:

 5性能测试(TPS吞吐量、响应速度、cpu占用率、内存占用率)

  平均吞吐量:

单位时间内处理事务的个数

  平均响应速度:

做一个事务处理所用时间

  例如:

界面操作效率测试;报表输出及查询效率测试

 6负载测试(压力测试、强度测试、容量测试)

  压力测试即就是大用户测试(针对B/S而言)

  容量测试即就是大数据量测试

 7并发测试

  指多个用户在同一时间对同一条数据的删除或者修改等处理

 8稳定性测试

  例如:

1小时触发600条信息,那么8个、10个等发信息的条数测试

 9恢复测试

  突然断电(系统触发正常启动;数据包要在断电的地方继续进行处理)

 10配置测试

  最低配置:

  推荐配置:

大多数用户所用的配置

 11安装测试

  安装过程;卸载过程

 12文档测试

  交给用户的文档。

例如:

系统帮助、用户使用手册、用户安装手册

 13可用性测试(纯粹靠经验)

 14初始化测试

  是指系统刚刚安装完成后,在数据位空的情况下,如果被调用的模块为空,点击调用模块的时候,是否进行容错的测试。

 15数据完整性测试

  是指当主表的某一条件信息被删除后,和这一条相关的从表的信息都应该被删除。

  如果某些数据的主键是由数据库本身而实现的,可以不用删除,如果有些主从表是由程序员写的代码而实现,则要进行数据完整性的测试。

 16种测试类型归类

  1、此软件能做什么?

  针对数据进行”功能、接口、容错、界面、权限、初始化、数据完整性测试“

  2、软件做的怎么样?

  性能、负载、恢复、稳定性、并发、系统安全

  3、软件在什么环境条件下做?

  配置、安装、文档、可用性

测试类型

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.安装测试

安装测试有两个目的。

第一个目的是确保该软件在正常情况和异常情况的不同条件下:

例如,进行首次安装、升级、完整的或自定义的安装_都能进行安装。

异常情况包括磁盘空间不足、缺少目录创建权限等。

第二个目的是核实软件在安装后可立即正常运行。

这通常是指运行大量为功能测试制定的测试。

安装测试包括测试安装代码以及安装手册。

安装手册提供如何进行安装,安装代码提供安装一些程序能够运行的基础数据。

10.多语种测试

又称本地化测试,是指为各个地方开发产品的测试,如英文版,中文版等等,包括程序是否能够正常运行,界面是否符合当地习俗,快捷键是否正常起作用等等,特别测试在A语言环境下运行B语言软件(比如在英文win98下试图运行中文版的程序),出现现象是否正常。

本地化测试还要考虑:

当语言从A翻译到B,字符长度变化是否影响页面效果。

比如中文软件中有个按键叫“看广告”,翻译到英文版本中为“Viewadvertisement”可能影响页面的美观程度

要考虑同一单词在各个国家的不同意思,比如football在英文中为足球,而美国人使用中可能理解为美式橄榄球。

要考虑各个国家的民族习惯,比如龙个美国中被理解邪恶的象征,但翻译到中国,中国人认为为吉祥的象征。

11.文字测试

文字测试测试软件中是否拼写正确,是否易懂,不存在二义性,没有语法错误;文字与内容是否有出入等等,包括图片文字。

比如:

“比如,请输入正确的证件号码!

”何谓正确的证件号码,证件可以为身份证,驾驶证,也可为军官证,如果改为“请输入正确的身份证号码!

”用户就比较容易理解了。

12.分辨率测试

测试在不同分辨率下,界面的美观程度,分为800*600,1024*768,1152*864,1280*768,1280*1024,1200*1600大小字体下测试。

一个好的软件要有一个极佳的分辨率,而在其他分辨率下也都能可以运行。

13发布测试

主要在产品发布前对一些附带产品,比如说明书,广告稿等进行测试

13.1说明书测试

主要为语言检查,功能检查,图片检查

语言检查:

检查说明书语言是否正确,用词是否易于理解;

功能检查:

功能是否描述完全,或者描述了并没有的功能等;

图片检查:

检查图片是否正确

13.2宣传材料测试

主要测试产品中的附带的宣传材料中的语言,描述功能,图片

13.3帮助文件测试

帮助文件是否正确,易懂,是否人性化。

最好能够提供检索功能。

13.4广告用语

产品出公司前的广告材料文字,功能,图片,人性化的检查

14文档审核测试

文档审核测试目前越来越引起人们的重视,软件质量不是检查出来的,而是融进软件开发中来。

前置软件测试发越来越受到重视。

请看一个资料:

文档审核测试主要包括需求文档测试,设计文档测试,为前置软件测试测试中的一部分。

14.1需求文档测试

主要测试需求

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1