-
软件测试的分类:
黑盒测试:优点:简单易操作,贴近用户角度。缺点:覆盖率低,自动化复用率低
黑盒测试的主要方法:等价类划分、边界值分析、错误推测、因果图、正交试验分析、状态迁移、流程分析
白盒测试: 逻辑单位:语句、条件、条件组合、分支、路径
优点:思考软件的实现,理解原理。检测代码中的每条分支和路径。揭示隐藏在代码中的错误。对代码的测试比较彻底
缺点:工作量大,成本高。无法检测代码中遗漏的路径和数据敏感性错误。不能直接验证需求的正确性
白盒测试的主要方法:代码检测法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法
静态测试
动态测试
手工测试
自动化测试
查看全部 -
黑盒测试 把测试的对象看成一个黑盒 不了解内部的逻辑和结构 从用户的角度来对软件进行测试的方法
白盒测试 测试人员是了解内部的结构和设计逻辑通过逻辑的覆盖来保证 测试的完整性
手动测试 专门的测试人员根据测试用例来实施的测试
自动化测试 借助第三方的测试工具来自动化的运行和检查测试
静态测试 不运行被测试的软件 通过静态的检查代码 文档来进行测试
动态测试 吧软件运行起来 通过运行端的表现 来判断软件运行的功能是否正常
查看全部 -
软件测试的经典定义:为了发现错误而执行程序的过程
软件测试IEEE定义:使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异
软件测试的五大要素:质量,人员,资源,流程,技术
软件测试的两大目标:测试覆盖率和测试效率
软件测试遵循的原则:
1.测试显示错误的存在,但不能证明系统不存在缺陷
2.穷尽测试是不可能的,应及时设定终止条件
3.测试应尽早进行
4.缺陷具备集群特性
5.测试的杀虫剂悖论
6.测试的二八原则
7.测试活动依赖于测试背景
查看全部 -
脑图总结软件测试全部概念
查看全部 -
软件测试分类
按测试类型分: 功能测试 性能测试 兼容性测试
部署测试 易用性测试
文档测试 本地化测试
安全测试 无障碍测试 可靠性测试
功能测试:
定义:根据产品特性、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。
针对的问题:功能错误或遗漏、界面问题、性能错误、数据及访问错误初始化及终止错误
查看全部 -
V模型查看全部
-
软件测试的分类
按测试阶段分类:单元测试、集成测试、系统测试、验收测试
一、单元测试:对软件中的最小可测试单元进行检查和验证。(单元:是人为规定的可测试的一个最小的模块。)一般针对代码进行测试。非常重要,是其他测试的基础。
单元测试的原则:
尽可能保证各个测试用例是相互独立的。
一般由代码的开发人员来实施,用以检验所开发的代码功能符合自己的设计要求。
单元测试的益处:
能尽早发现缺陷
有利于重构
简化集成
文档
用于设计
单元测试的限制:
不可能覆盖所有的执行路径,所以不可能保证捕捉到所有路径的错误。
每行代码,一般需要3-5行测试代码才能完成单元测试。所以存在投入和产出的一个平衡。
二、集成测试:在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。
集成测试的主要实施方案:
Big Bang (大爆炸/一次性集成)
自顶向下
自底向上
核心系统集成
高频集成
集成测试&单元测试的主要区别
测试对象不同(集成测试针对模块、子系统;单元测试针对基本单元、最小单元)
测试依据不同(集成测试针对概要设计;单元测试针对详细设计)
测试方法不同(集成测试关心模块之间接口的集成;单元测试只关心单元的内部)
三、系统测试:是将经过集成测试的软件,作为计算机系统的一个部分,与系统中其他部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有效的测试,以发现软件潜在的问题,保证系统的正常运行。
系统测试关注点:
关注系统本身的使用
关注系统与其他相关系统间的连通
关注系统在不同使用压力下的表现
关注系统在真实使用环境下的表现
系统测试&集成测试的区别
测试对象不同(系统测试针对除软件之外还包括计算机硬件及相关的外围设备、数据采集和传输机构、支持软件、系统操作人员等整个系统;集成测试针对通过了单元测试的各个模块所集成起来的构件)
测试时间(系统测试在集成测试之后;集成测试介于单元测试和系统测试之间)
测试内容(系统测试:整个系统的功能与性能;集成测试:各个单元模块之间的接口)
测试角度(系统测试:偏于业务角度的验证;集成测试:偏于技术角度的验证)
三、验收测试(交付测试):针对用户需求、业务流程的正式的测试,确定系统是否满足验收标准,由用户、客户或其他授权机构决定是否接受系统。
细分可分为:
用户验收测试、运行验收测试、合同和规范验收测试、alpha测试(开发者版本)、beta测试(脱离开发者,在用户版本上)
查看全部 -
一、软件测试的定义:
1.软件测试是对程序能够按预期运行建立起一种信心。
2.测试是为了发现错误而执行程序的过程。
3.IEEE定义(ISO/IEC/IEEE 29119)
使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异。
二、测试对象:
软件需求、软件概要设计、软件详细设计、软件运行环境、软件源代码、可运行程序
三、五大要素和两个目标:
软件测试五大要素:质量、人员、资源、流程、技术
两个目标:测试覆盖率、测试效率
四、软件测试所遵循的原则:
测试显示缺陷的存在,但不能证明系统不存在缺陷
穷尽测试是不可能的,应设定及时终止的条件
测试应尽早进行(因为前期修复bug的代价小)
测试具备群集特性(发现某模块问题越多,说明该模块没发现的问题更多,需重点关注)
测试的杀虫剂悖论(测试用例与方法应不定期地评审、修改、增加)
测试的二八原则(80%的资源用在20%的zhongdian)
测试活动依赖于测试背景
查看全部 -
敏捷测试
Agile Testing--遵循敏捷宣言的一种测试实践
敏捷测试强调从客户角度进行测试
重点关注迭代测试新功能,不在强调测试阶段
尽早测试,不间断测试,具备条件既测试
强调持续反馈
预防缺陷重于发现缺陷
基于脚本的测试-SBT
Script-based Testing
Scripted Testing(ST)
Exploratory Testing(ET) 逐渐开始非常流行的方式
探索式测试(ET)
完全抛开测试脚本的测试
它是一种测试风格、思维而不是一种测试技术
ST和ET是互补的
探索式测试的优点:
更能激发测试人员的创造性和工作乐趣
增加了发现新的或较深入Bug的可能性
在较短的时间内找到更多Bug以及对SUT做一个快速的评估
有利于更加有效地实施自动化
更加适用于敏捷项目
减少了在简单、繁复上用例的无谓编写时间
探索式测试的缺点:
测试管理上有局限性,较难协调和控制
对于Bug的重复利用和重现上作用有限
对测试人员的测试技能和业务知识深度依赖较大
只有在SUT已完全可用的前提下才更有作用
ET的生产率很难定义
ET本身较难进行自动化
局部探索式测试
输入、状态、代码路径、用户数据、执行环境(被测系统的五大要素)
基于风险的测试-RBT
Risk-based Testing
一种基于对软件失效的风险评估并以此指导测试计划、设计、执行、结果评价的软件测试类型
那些是风险?
质量风险
管理风险
风险级别=风险可能性*风险严重度
分析要素分=Sum(单项权重*得分)
基于模型的测试-MBT
查看全部 -
按测试手段分类
黑盒测试、白盒测试
静态测试、动态测试
手工测试、自动化测试
黑盒测试覆盖率低,一般只能覆盖到代码量的不到40%,复用率低,维护成本高
白盒测试(结构法测试/透明测试)
主要的逻辑单位:语句、条件、条件组合、分支、路径
白盒测试的主要测试方法:
代码检测法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法
灰盒测试
介于黑、白盒测试之间的,关注输出对于输入的正确性,同时也关注内部表现
静态测试
静态测试是指无须执行被测程序
动态测试:
动态测试是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等。
手工测试:
由专门的测试人员从用户视角来验证软件是否满足设计要求的行为。更适用针对深度的测试和强调主观判断的测试。
众包测试、探索式测试
自动化测试:
使用单独的测试工具软件控制测试的自动化执行以及对预期和结果进行自动检查。
单元测试、接口测试、性能测试等
查看全部 -
负载测试:指的是在我们测试过程中,来逐步的增加负载,并且记录下被测系统相应的性能表现,最终确定出,系统在正常指标下的一个最大的负载
压力测试:指的是测试系统在极限情况下的压力情况,也就是确定我们的系统,在什么样的负载压力下,会导致我们系统的失效,不能够正常运行
,确定出系统所能承受的最大的一个极限
稳定性测试:指稍大于一个正常业务量的负载,对系统进行持续的,长时间的测试,比如24*5,连续五天的对这个系统施加压力,以确定系统在较长运行时间的情况下,这个系统的稳定性情况
查看全部 -
测试类型如果按测试阶段分:
单元测试,集成测试,系统测试,验收测试
单元测试流程:(尽量保持测试的相互独立,比如登陆中密码的提取不要用数据库的)
打开eclipse,创建工程,右键Properties,build path然后add library,然后导入JUnit包,导入一个。java文件夹,右键创建一个JUnit Test,可选择一些方法,一般选择setUp()【开始时的动作】和tearDown()【结束时动作】,随后选择待测方法
单元测试与集成测试的区别:
a.测试对象不同(单元:针对软件的最小单元;集成:针对模块与子系统,主要测试模块与模块间的接口)
b.测试依据不同(单元:针对软件的详细设计;集成:针对软件的概要设计)
c。测试方法不同(单元:关心单元的内部;集成:关系模块间的接口)
系统测试:在集成测试的基础上,对系统在实际运行环境下进行测试(一般有性能测试,功能测试,稳定性测试等多种测试类型。)
集成测试和系统测试的区别:
测试对象不同(集成测试是通过了单元测试的各个模块所集成起来的构件;系统测试;系统测试是除了软件以外,还包括计算机硬件及相关的外围设备、数据采集和传输机构等整个软件)
测试时间不同
测试内容不同(集成:各个单元模块之间的接口;系统:整个系统的功能和性能)
测试角度不同(集成偏向技术验证;系统偏向业务验证)
验收测试:也称交付测试。针对用户需求,业务流程的正式测试,确定系统是否满足影虎的验收标准。由用户、客户或其他授权机构决定是否接受系统。
查看全部 -
软件测试的分类:
按测试阶段来分类:单元测试、集成测试、系统测试、验收测试。
单元测试
什么是单元测试?
对软件中的最小可测试单元进行检查和验证。
单元测试的原则:
尽可能保证各个测试用例是互相独立的。
一般由代码的开发人员来实施,用以检验所开发的代码功能符合自己的设计要求。
单元测试的益处:
能尽早发现缺陷
有利于重构
简化集成
文档
用于设计
单元测试的限制
不可能覆盖所有的执行路径,所以不可能保证捕捉到所有路径的错误。
每一行代码,一般需要3-5行测试代码才能完成单元测试。所以存在投入和产出的一个平衡。
单元测试框架
Xunit
JUnit、nunit、CPPUnit、PHPUnit
集成测试定义:
是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或者系统的过程中各部分工作是否达到或者实现相应技术指标及要求的活动。
集成测试的主要实施方案
Big Bang
自顶向下
自底向上
核心系统集成
高频集成
2/3瀑布式研发常用。4/5敏捷型研发常用。
集成测试&单元测试
测试的对象不同
测试的依据不同 单元 详细设计 集成 概要设计
测试的方法不同 单元 注重单元内部 集成 注重接口之间
系统测试定义:
是将经过集成测试的软件,作为计算机系统的一个部分,与系统中其他部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有效的测试,以发现软件潜在的问题,保证系统的正常运行。
单元、集成测试更多用模拟的方法测试,系统测试是在真实运行环境中测试。
系统测试中包含功能测试、性能测试、稳定性测试。
关注点
关注系统本身的使用
关注系统与其他相关系统间的连通
关注系统在不同使用压力下的表现
关注系统在真实使用环境下的表现
系统测试&集成测试
测试对象
集成测试:由通过了单元测的各个模块所集成起来的构件
系统测试:除了软件之外,还包括计算机硬件及相关的外围设备、数据采集和传输机构、支持软件、系统操作人员等整个系统
测试时间
集成测试介于单元测试和系统测试之间测试
系统测试在集成测试之后
测试内容
集成测试:各个单元模块之间的接口
系统测试:整个系统的功能和性能
测试角度
集成测试:偏于技术角度的验证
系统测试:偏于业务角度的验证
验收测试(交付测试)定义:
针对用户需求、业务流程的正式的测试,确定系统是否满足验收标准,由用户、客户或者其他授权机构决定是否接受系统。
细分
用户验收测试
运行验收测试
合同和规范验收测试
alpha测试 开发者的环境
beta测试 真实的用户环境
查看全部 -
软件测试的分类
按测试阶段来分类 单元测试 集成测试 系统测试 验收测试
单元测试:对软件中的最小可测试单元进行检查和验证。
单元测试的原则:1.尽可能保证各个测试用例是相互独立的
2.一般由代码的开发人员来实施,用以检验所开发的代码功能符合自己的设计要求。
单元测试的好处:1、能尽早的发现缺陷
2.有利于重构。
3.简化集成
4.文档
5.用于设计
单元测试的限制:1.不可能覆盖所有的执行路径,所以不可能保证捕捉到所有路径的错误。2.每一行代码,一般需要3-5行测试代码才能完成单元测试。所以存在投入和产出的一个平衡。
集成测试:是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。
集成测试的主要实施方案:1.Big Bang 2.自顶向下 3.自底向上 4.核心系统集成 5.高频集成
集成测试和单元测试的区别
测试的对象不同
单元测试对象:软件的基本单元,最小的单元
集成测试对象:模块与模块之间接口的关系
测试的依据不同
单元测试依据:针对软件的详细设计
集成测试依据:针对软件的概要设计
测试的方法不同
单元测试方法:单元的类
集成测试方法:模块与模块接口的集成
系统测试:是将经过集成测试的软件,作为计算机系统的一个部分,与系统中其他部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有效的测试,以发现软件潜在的问题,保证系统的正常运行。(功能测试,性能测试,稳定性测试)
系统测试关注点
关注系统本身的使用
关注系统与其他相关系统间的连通
关注系统在不同使用压力下的表现
关注系统在真实使用环境下的表现
系统测试与集成测试的区别
测试对象不同
集成测试对象:由通过了单元测试的各个模块所集成起来的构件
系统测试:除了软件之外,还包括计算机硬件及相关的外围设备、数据采集和传输机构、支持软件、系统操作人员等整个系统。
测试时间不同
集成测试介于单元测试和系统测试之间测试
系统测试在集成测试之后
测试内容
集成测试:各个单元模块之间的接口
系统测试:整个系统功能和性能
测试角度
集成测试:偏于技术角度的验证
系统测试:偏于业务角度的验证
验收测试:也称交付测试,针对用户需求、业务流程的正式的测试,确定系统是否满足验收标准、由用户、客户或其他授权机构决定是否接受系统。
验收测试细分 1、用户验收测试 2、运行验收测试 3、合同和规范验收测试
alpha测试:是由开发者提供操作环境,用户进行执行的
Beta测试:脱离开发者,用户操作环境,用户执行。
查看全部 -
按测试阶段来分类:单元测试,集成测试,系统测试,验收测试
查看全部
举报