测试类型有:功能测试,性能测试,界面测试。
功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。
界面测试,界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。而且设计良好的界面能够引导用户自己完成相应的操作,起到向导的作用。同时界面如同人的面孔,具有吸引用户的直接优势。设计合理的界面能给用户带来轻松愉悦的感受和成功的感觉,相反由于界面设计的失败,让用户有挫败感,再实用强大的功能都可能在用户的畏惧与放弃中付诸东流。
区别在于,功能测试关注产品的所有功能上,要考虑到每个细节功能,每个可能存在的功能问题。性能测试主要关注于产品整体的多用户并发下的稳定性和健壮性。界面测试更关注于用户体验上,用户使用该产品的时候是否易用,是否易懂,是否规范(快捷键之类的),是否美观(能否吸引用户的注意力),是否安全(尽量在前台避免用户无意输入无效的数据,当然考虑到体验性,不能太粗鲁的弹出警告)?做某个性能测试的时候,首先它可能是个功能点,首先要保证它的功能是没问题的,然后再考虑该功能点的性能测试
软件测试是怎么分类的,有哪些种?
软件测试分类
软件测试是一项复杂的系统工程,从不同的角度考虑可以有不同的划分方法,对测试进行分类是为了更好的明确测试的过程,了解测试究竟要完成哪些工作,尽量做到全面测试。
1,按是否需要执行被测软件的角度
按是否需要执行被测软件的角度,可分为静态测试和动态测试,前者不利用计算机运行待测程序而应用其他手段实现测试目的,如代码审核。(我认为主要是让测试人员对编译器发现不了的潜在错误进行分析,如无效的死循环,多余的变量等),而动态测试则通过运行被测试软件来达到目的。
2、按阶段划分:
1 单元测试
单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。因为单元测试需要知道内部程序设计和编码的细节知识,一般应由程序员而非测试员来完成,往往需要开发测试驱动模块和桩模块来辅助完成单元测试。因此应用系统有一个设计很好的体系结构就显得尤为重要。
一个软件单元的正确性是相对于该单元的规约而言的。因此,单元测试以被测试单位的规约为基准。单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等。
2 集成测试
集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。
3 系统测试
系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比。软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。
4 验收测试
验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。所不同的是,验收测试常常有软件系统的购买者代表在现场,甚至是在软件安装使用的现场。这是软件在投入使用之前的最后测试。
5 回归测试
回归测试是在软件维护阶段,对软件进行修改之后进行的测试。其目的是检验对软件进行的修改是否正确。这里,修改的正确性有两重含义:一是所作的修改达到了预定目的,如错误得到改正,能够适应新的运行环境等等;二是不影响软件的其他功能的正确性。
6 Alpha 测试:在系统开发接近完成时对应用系统的测试;测试后,仍然会有少量的设计变更。这种测试一般由最终用户或其他人员员完成,不能由程序员或测试员完成。
7 Beta 测试:当开发和测试根本完成时所做的测试,而最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其他人员员完成,不能由程序员或测试员完成。
3、按测试方法划分:
1 白盒测试
白盒测试也称结构测试或逻辑驱动测试,是指基于一个应用代码的内部逻辑知识,即基于覆盖全部代码、分支、路径、条件的测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。
“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。
白盒测试可以借助一些工具来完成如Junit Framework,Jtest等。
2 黑盒测试
黑盒测试是指不基于内部设计和代码的任何知识,而基于需求和功能性的测试,黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等,主要用于软件确认测试。
“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。
黑盒测试也可以借助一些工具,如WinRunner,QuickTestPro,Rational Robot等。
3 ALAC(Act-like-a-customer)测试
ALAC测试是一种基于客户使用产品的知识开发出来的测试方法。ALAC测试是基于复杂的软件产品有许多错误的原则。最大的受益者是用户,缺陷查找和改正将针对哪些客户最容易遇到的错误。
参考资料:http://blog.csdn.net/xiagaoming/archive/2006/11/14/1383353.aspx
软件测试的类型主要分为什么?各种测试之间有什么区别?
测试可以分为白盒黑盒 很多种分类
主要跟你说一个分类吧
单元测试:就是软件按照功能模块测试,软件刚开始开发的时候经常用
集成测试:就是连调,把单元结合到一起进行测试,看看有没有什么问题
系统测试:就是所有东西都弄好了 进行的测试
验收测试:就是看软件符合不符合需求
回归测试:软件修改后 再次验证问题的测试
我都是手写的 没到网上复制给你 将就看
按照软件测试阶段划分,软件测试分为??
单元测试
单元测试又称模块测试,是针对程序的一种测试。
模块:C函数,JAVA方法
模块的基本属性:名字、明确的功能、与其他模块的关联、算法。
在实际中,很多的单元测试工作都是程序员在做。
实际意义:一开始并不把程序作为一个整体来测,而首先
集中测试最小单元,这样能尽早的发现问题,解决问题。
• 实际演示一个单元测试例子
• 演示完成后,你的技能够做单元测试吗?
集成测试
时常有这样的情况发生,每个模块都能单独工作,但是将这些
模块组装起来之后却不能正常工作。
p A程序员写了代码,这些代码的功能提供给B程序员调用,但是
由于A和B之间在方法的命名,大小写等问题上不一致,所以根
本无法让A的数据给B用。
p 也就是说,在局部上不出问题,整合起来也不出问题吗?这很
难说,因此集成测试就显得非常有必要。
集成测试又称为接口测试,是针对程序接口的一种测试。
• 接口:模块与模块之间的耦合
• 在实际中,很多的集成测试工作都是程序员在做
• 实际意义:单元测试做完后,方法已经没有问题了,局部
不出问题了,程序员之间的各个功能整合起来,集中测试,
要保证整合后的代码和代码实现的功能完全对接,没有问题。
因此集成测试就显得非常有必要
现在问题出来了,我们怎么做集成呢?
• 独立的测试完成后,组合成一个整体测, 非增量式集成
问题:容易出现混乱,因为测试时可能发现一大堆问
题,但每个故障的定位和纠正问题很难。
• 把一个待测模块组合到已经测试过的模块上去,再进行
测试,这种方式称为 增量式集成
自上向下:桩程序
自下向上:驱动程序
p 思考一个问题:清洗一台已经完全装配好的绞肉机容易,还是
清洗一台被完全拆分的绞肉机容易?
确认测试
确认测试:对照软件需求规格说明,对软件产品进行评估以
确定其是否满足需求的过程。主要是对软件需求满足程度的一
种评价和评估。
p 经过确认测试,应该得出的评价无非2种情况:
① 经过检验,软件功能、性能及其他方面的要求都已满足
软件需求规格说明的规定,是一个合格的软件
② 经过检验,发现与软件需求规格说明书有相当的偏离,
得到了一个缺陷清单,这就需要开发部分和用户进行协
调,找出解决的办法。
系统测试
什么是系统测试:
将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试。
系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,从而提出更加完善的方案。
对象不仅仅报测测试的软件,还包含软件所依赖的硬件,外设甚至包括某些数据、某些支持及接口等。
系统测试范围:功能、性能、界面、强度、容量、安全性、配置、安装、卸载、数据库等。
验收测试
验收测试:验收测试:可以类比为建筑的使用者对建筑进行的检测。
验收形式:
1.Alpha;alpha 测试是在用户组织模式软件系统的运行环境下的一种验收测试,有用户第三方测试公司进行的测试,模拟各类用户行为对即将面市的软件产品进行测试。试图发现并修改错误。
2.Beta:Beta测试是用户公司组织各方面的典型终端用户在
日常工作中实际使用beta版本,并要求用户报告异常情
况,提出批评意见。
实际过程中:初验、终验
Alpha和Beta的区别
区别:两者的主要区别是测试场所不同。
p Alpha测试是指把用户请到开发方的场所来测试, Alpha测试的环
境是受开发方控制的,用户的数量相对比较少,时间比较集中。
p Beta测试是指在一个或多个用户的场所进行的测试。beta测试的环
境是不受开发方控制的,谁也不知道用户如何折磨软件,用户数
量相对比较多,时间不集中。
p alpha测试先于beta测试执行。
p 通用的软件产品需要较大规模的beta测试,测试周期比较长。如
果产品通过了beta测试,那么就可以正式发行了。
p 一些软件开发公司把Alpha测试后发布的产品定义为:一个早期的、
不稳定的软件版本所进行的验收测试,而Beta测试看成是对一个
晚期的、更加稳定的软件版本所进行的验收测试。
软件测试的方法一共有几种
1、从是否关心内部结构来看
(1)白盒测试:又称为结构测试或逻辑驱动测试,是一种按照程序内部逻辑结构和编码结构,设计测试数据并完成测试的一种测试方法。
(2)黑盒测试:又称为数据驱动测试,把测试对象当做看不见的黑盒,在完全不考虑程序内部结构和处理过程的情况下,测试者仅依据程序功能的需求规范考虑,确定测试用例和推断测试结果的正确性,它是站在使用软件或程序的角度,从输入数据与输出数据的对应关系出发进行的测试。
(3)灰盒测试:是一种综合测试法,它将“黑盒”测试与“白盒”测试结合在一起,是基于程序运行时的外部表现又结合内部逻辑结构来设计用例,执行程序并采集路径执行信息和外部用户接口结果的测试技术。
2、从是否执行代码看
(1)静态测试:指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
(2)动态测试:是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能指标。
3、从开发过程级别看
(1)单元测试:又称模块测试,是针对软件设计的最小单位----程序模块或功能模块,进行正确性检验的测试工作。其目的在于检验程序各模块是否存在各种差错,是否能正确地实现了其功能,满足其性能和接口要求。
(2)集成测试:又叫组装测试或联合,是单元测试的多级扩展,是在单元测试的基础上进行的一种有序测试。旨在检验软件单元之间的接口关系,以期望通过测试发现各软件单元接口之间存在的问题,最终把经过测试的单元组成符合设计要求的软件。
(3)系统测试:是为判断系统是否符合要求而对集成的软、硬件系统进行的测试活动、它是将已经集成好的软件系统,作为基于整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、人员、数据等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。
在系统测试中,对于具体的测试类型有:
(1)功能测试:对软件需求规格说明书中的功能需求逐项进行的测试,以验证功能是否满足要求。
(2)性能测试:对软件需求规格说明书的功能需求逐项进行的测试,以验证功能是否满足要求。
(3)接口测试:对软件需求规格说明中的接口需求逐项进行的测试。
(4)人机交互界面测试:对所有人机交互界面提供的操作和显示界面进行的测试,以检验是否满足用户的需求。
(5)强度测试:强制软件运行在异常乃至发生故障的情况下(设计的极限状态到超出极限),验证软件可以运行到何种程序的测试。
(6)余量测试:对软件是否达到规格说明中要求的余量的测试。
(7)安全性测试:检验软件中已存在的安全性、安全保密性措施是否有效的测试,
(8)可靠性测试:在真实的或仿真的环境中,为做出软件可靠性估计而对软件进行的功能(其输入覆盖和环境覆盖一般大于普通的功能测试)
(9)恢复性测试:对有恢复或重置功能的软件的每一类导致恢复或重置的情况,逐一进行的测试。
(10)边界测试:对软件处在边界或端点情况下运行状态的测试。
(11)数据处理测试:对完成专门数据处理功能所进行的测试。
(12)安装性测试:对安装过程是否符合安装规程的测试,以发现安装过程中的错误。
(13)容量测试:检验软件的能力最高能达到什么程度的测试。
(14)互操作性测试:为验证不同软件之间的互操作能力而进行的测试。
(15)敏感性测试:为发现在有效输入类中可能引起某种不稳定性或不正常处理的某些数据的组合而进行的测试。
(16)标准符合性测试:验证软件与相关国家标准或规范(如军用标准、国家标准、行业标准及国际标准)一致性的测试。
(17)兼容性测试:验证软件在规定条件下与若干个实体共同使用或实现数据格式转换时能满足有关要求能力的测试。
(18)中文本地化测试:验证软件在不降低原有能力的条件下,处理中文能力的测试。
4、从执行过程是否需要人工干预来看
(1)手工测试:就是测试人员按照事先为覆盖被测软件需求而编写的测试用例,根据测试大纲中所描述的测试步骤和方法,手工地一个一个地输 入执行,包括与被测软件进行交互(如输入测试数据、记录测试结果等),然后观察测试结果,看被测程序是否存在问题,或在执行过程中是否会有一场发生,属于比较原始但是必须执行的一个步骤。
(2)自动化测试:实际上是将大量的重复性的测试工作交给计算机去完成,通常是使用自动化测试工具来模拟手动测试步骤,执行用某种程序设计语言编写的过程(全自动测试就是指在自动测试过程中,不需要人工干预,由程序自动完成测试的全过程;半自动测试就是指在自动测试过程中,需要手动输入测试用例或选择测试路径,再由自动测试程序按照人工指定的要求完成自动测试)
5、从测试实施组织看
(1)开发测试:开发人员进行的测试
(2)用户测试:用户方进行的测试
(3)第三方测试:有别于开发人员或用户进行的测试,由专业的第三方承担的测试,目的是为了保证测试工作的客观性
6、从测试所处的环境看
(1)阿尔法测试:是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试
(2)贝塔测试:是用户公司组织各方面的典型终端用户在日常工作中实际使用贝塔版本,并要求用户报告
扩展资料
软件测试的内容:
1 得到需求、功能设计、内部设计说书和其他必要的文档
2 得到预算和进度要求
3 确定与项目有关的人员和他们的责任、对报告的要求、所需的标准和过程 ( 例如发行过程、变更过程、等等 )
4 确定应用软件的高风险范围,建立优先级、确定测试所涉及的范围和限制
5 确定测试的步骤和方法 ── 部件、集成、功能、系统、负载、可用性等各种测试
6 确定对测试环境的要求 ( 硬件、软件、通信等 )
7 确定所需的测试用具 (testware) ,包括记录 / 回放工具、覆盖分析、测试跟踪、问题 / 错误跟踪、等等
8 确定对测试的输入数据的要求
9 分配任务和任务负责人,以及所需的劳动力
10 设立大致的时间表、期限、和里程碑
11 确定输入环境的类别、边界值分析、错误类别
12 准备测试计划文件和对计划进行必要的回顾
13 准备白盒测试案例
14 对测试案例进行必要的回顾 / 调查 / 计划
15 准备测试环境和测试用具,得到必需的用户手册 / 参考文件 / 结构指南 / 安装指南,建立测试跟踪过程,建立日志和档案、建立或得到测试输入数据
16 得到并安装软件版本
17 进行测试
18 评估和报告结果
19 跟踪问题 / 错误,并解决它
20 如果有必要,重新进行测试
21 在整个生命周期里维护和修改测试计划、测试案例、测试环境、和测试用具
参考资料:百度百科-软件测试
软件测试包括哪些类型的测试
按照方式分为黑盒测试、白盒测试、灰盒测试,按照阶段分为:单元测试、集成测试、系统测试
以测试的形态分软件测试可以分为哪几类?
我做测试5年了,还没听过什么是 测试的形态。
如果你想了解软件测试分类:
从是否关心软件内部结构和具体实现的角度划分
A.白盒测试B.黑盒测试 C.灰盒测试
从是否执行程序的角度
A.静态测试 B.动态测试
从软件开发的过程按阶段划分有
A.单元测试 B.集成测试 C.确认测试 D.系统测试 E.验收测试
补充问题的回答:
中国的软件测试发展还没多久,很多都是从外国“引进”的,引起过程加上自己的理解最后定义的自然会有所差别。
按照你给的分类,我去搜索了下,发现还真的有,不过感觉不算比较标准的分类方式,比较少见。
如果你是为了考试学习,建立以考试教程为准。
如果是为了了解软件测试,你可以看下我搜索到的内容(来源51testing中 )
测试形态:
以测试形态分类的话,可以分为建构性测试,系统测试,及专项测试这三大项。建构性测试属于前置性的测试,它主要偏重与程序端的功能测试,以确保程序运行正常。系统测试是属于中后期的集成测试,所进行的测试以使用者的观点为主,也就是秘方外界使用者会如何使用产品。至于专项测试指的是所进行的测试需要花费更多的时间和人力才能完成。
0.01.建构性测试:
建构性测试又称开发测试,顾名思义,就是当程序还处于开发阶段时所进行的测试。
单一步骤测试:根据程序步骤逐一地进行测试。
尝试性测试:在看法过程中,为了系统的某一个功能而构建出初步的成品所进行的尝试性测试。
单元测试:所谓的单元就是将系统切分为细小的个体,单元测试就是针对这些个体来做测试。
组建测试:组建是由一个或多哥单元组成的,组成测试的界限会比单元测试大得多。
集成测试:在软件开发过程中,开发人员是各自开发不同模块的,一旦这些模块编写完成,开发人员必须将这些模块集成在一起来做一个测试。
0.02.系统测试:
在经过开发人员的集成测试后,可正常将软件编译构建成初步的测试版本,之后要进行的测试就是系统测试。系统测试是针对系统的测试,这包括所应支持的软件,硬件,操作系统及所应集成的第三方软件。
集成测试:专注于系统的稳定度及功能上的测试,特别是集成了内外部的子系统及所应支持的第三方软件。
前哨测试:每次编译构建的测试版本,必须通过前哨测试决定这个版本是否可以提供给QA人员进行系统测试。通常开发人员在修改Bugs后有可能引起其他更多的并发问题,通过前哨测试可以推断出问题是在测试版本的第几版发生。
功能测试:针对软件在功能上所做的测试,以确保系统达到功能上的要求。
设置测试:只要是软件都会提供设置功能供使用者做设置,不同的使用者会有不同的设置,不同是设置就有不同的排列组合测试。
发行测试:这个测试确保软件发表版本可供使用者正常部署,安装和使用,而且功能上必须达到要求。
验收测试:所谓的验收测试就是项目客户制定一些合格的标准来验收产品。
0.03专项测试:
所谓的专项而是,就是需要额外的人力及资源来进行的测试活动。
软件测试方法有哪些分类?各有什么特点?设计测试用例的主要方法有哪些
你之前是做什么工作的呢?也是做软件吗?你是想要详细的了解软件测试吗?我知道一家培训机构,西安瀚程计算机职业教育学校,有什么问题你可以去和他们的技术老师交流一下的!他们肯定会给你很好的建议的。如果说你自己现在没做这行,但是现在想要转行的话我还是建议你要找个学校系统的学习一下比较好!只有地基打好了才能盖起来摩天大楼的~~
转载请注明出处51数据库 » 软件测试问题分类 软件测试类型都有哪些