-
回归测试在项目中是使用最频繁的,但是大规模使用的确是不现实。因此,回归测试也是最适合做自动化测试的。查看全部
-
敏捷宣言: 个体与交互重于过程和工具 可用的软件重于完备的文档 客户协作重于合同谈判 响应变化重于遵循计划 敏捷测试:强调从客户角度进行测试 重点关注迭代测试新功能,不再强调测试阶段 尽早测试,不间断测试,具备条件及测试 强调持续反馈 预防缺陷重于发现缺陷
查看全部 -
系统测试 定义: 是将经过集成测试的软件,作为计算机系统的一部分,与系统中其他部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有效的测试,以发现软件潜在的问题,保证系统的正常运行。
查看全部 -
代码分类。
查看全部 -
软件测试的分类
按照测试时对象的可见度:
黑盒测试、白盒测试
根据状态划分
静态测试、动态测试
根据测试执行的方式划分
手工测试、自动化测试
黑盒测试
定义:把测试对象看成一个黑盒,在不了解程序内部逻辑和结构的情况下,从用户的角度对软件进行测试。
优点:
容易实施,不需要关注内部的实现
更贴近用户的使用角度
缺点:
测试覆盖率较低,一般只能覆盖到代码量的不到40%
针对黑盒的自动化测试,复用率较低,维护成本较高
黑盒测试主要测试什么
是否有不正确或者遗漏的功能
在接口是,输入是否正确的接受,能否输出正确的结果
是否有数据结构错误或外部信息(例如数据文件)访问错误?
性能是否能够满足要求?
黑盒测试的主要设计方法
白盒测试
定义:又称结构化测试/透明盒测试,是针对程序的逻辑结构来设计测试用例,用逻辑的覆盖率来测量程序的完整性
主要的逻辑单位:语句,条件,条件组合,分支,路径
优点:
1.迫使测试人员去仔细思考软件的实现,理解原理
2.可以检测代码中的每条分支和路径
3.揭示隐藏在代码中的错误
4.对代码的测试比较彻底
缺点:
1.昂贵
2.无法检测代码中遗漏的路径和数据敏感性错误
3.不能直接验证需求的正确性
主要测试方法:代码检测法 ,静态结构分析法, 静态质量度量法 ,逻辑覆盖法,基本路径测试法
灰盒测试:介于黑、白盒测试之间的,关注输出对于输入的正确性,同时也关注内部表现
静态测试
定义:指无须执行被测程序,而是通过评审软件文档或代码,度量程序静态复杂度,检查软件是否符合编程标准,借以发现编写的程序不足之处,减少错误出现的概率
方式:互审 走查 会议(从不正式到正式)
动态测试:
含义:通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等。
手工测试:
含义:由专门的测试人员从用户视角来验证软件是否满足设计要求的行为。更适用针对深度的测试和强调主观判断的测试
自动化测试:
使用单独的测试工具软件控制测试的自动化执行以及对预期和结果进行自动检查
查看全部 -
验收测试:也称交付测试。针对用户需求、业务流程的正式的测试,确定系统是否满足验收标准,由用户、客户或其他授权机构决定是否接受系统。
验收测试细分:
(1)用户验收测试(开发方移交产品之前的测试)
(2)运行验收测试(更多的是从运维的层面)
(3)合同和规范验收测试(更多的是参照约定的规范进行验收,一般还会根据政府和法律法规的合规进行验证)
(4)alpha测试(在开发者提供的场所和环境运行,一般由用户执行)
(5)Beta测试(完全脱离开发者的环境,在用户提供的场所和环境下运行)
alpha 版本——Beta版本——release版本
查看全部 -
回顾总结:
查看全部 -
性能测试:负载测试、压力测试、稳定性测试
性能指标:并发用户数UV、每秒事务数TPS、系统响应时间、设备性能
查看全部 -
测试分类: 单元测试,集成测试,系统测试,验收测试
单元测试的原则:
1、尽可能保证各个测试用例是互相独立的2、测试人员要对被测试的代码有相当程度的了解,一般是写这段代码的开发人员进行测试(测试人员要对被测试的代码有相当程度的了解,一般是写这段代码的开发人员进行测试)
好处;1尽早发现缺陷 2 有助于重构 3简化集成:确定了最小单元的稳定性和正确性,为集成测试奠定基础 4完善的单元测试,可以减少文档 5.完善的单元测试可以提现设计思路
局限性; 1.不可能覆盖所有路径,所有不可能检测到所有路径的错误 2.每一行代码,需要3至5行测试代码才能完成单元测试,所以存在投入和产出的一个平衡。
集成测试
定义:是在单元测试的基础上,测试再将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。
主要的实施方案:
Big Bang (所有的东西组装好测试)
自顶向下(从主程序开始沿控制层逐层向下集成覆盖到所有模块)
自底向上(从程序模块最底层逐层向上组装逐层测试 )好处: 能比较好的锁定软件故障的所在位置
核心系统集成
高频集成
集成测试和单元测试的区别:
测试对象不同(集成测试针对模块、子系统;单元测试针对基本单元、最小单元)
测试依据不同(集成测试针对概要设计;单元测试针对详细设计)
测试方法不同(集成测试关心模块之间接口的集成;单元测试只关心单元的内部)
系统测试:是将经过集成测试的软件,作为计算机系统的一个部分,与系统中其他部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有效的测试,以发现软件潜在的问题,保证系统的正常运行。
系统测试关注点:
关注系统本身的使用
关注系统与其他相关系统间的连通
关注系统在不同使用压力下的表现
关注系统在真实使用环境下的表现
系统测试&集成测试的区别:
测试对象不同:(系统测试针对除软件之外还包括计算机硬件及相关的外围设备、数据采集和传输机构、支持软件、系统操作人员等整个系统;集成测试针对通过了单元测试的各个模块所集成起来的构件)
测试时间(系统测试在集成测试之后;集成测试介于单元测试和系统测试之间)
测试内容(系统测试:整个系统的功能与性能;集成测试:各个单元模块之间的接口)
测试角度(系统测试:偏于业务角度的验证;集成测试:偏于技术角度的验证)
三、验收测试(交付测试):针对用户需求、业务流程的正式的测试,确定系统是否满足验收标准,由用户、客户或其他授权机构决定是否接受系统。
验收测试细分可分为:用户验收测试、运行验收测试(运维)、合同和规范验收测试、alpha测试(开发者版本)、beta测试(脱离开发者,在用户版本上)
查看全部 -
测试分类: 单元测试,集成测试,系统测试,验收测试<p> 单元测试的原则:<br />1、尽可能保证各个测试用例是互相独立的</p><p>2、测试人员要对被测试的代码有相当程度的了解,一般是写这段代码的开发人员进行测试(测试人员要对被测试的代码有相当程度的了解,一般是写这段代码的开发人员进行测试)</p><p>好处;1尽早发现缺陷 2 有助于重构 3简化集成:确定了最小单元的稳定性和正确性,为集成测试奠定基础 4完善的单元测试,可以减少文档 5.完善的单元测试可以提现设计思路</p><p>局限性; 1.不可能覆盖所有路径,所有不可能检测到所有路径的错误 2.每一行代码,需要3至5行测试代码才能完成单元测试,所以存在投入和产出的一个平衡。</p><p> 集成测试<br /></p><p>定义:是在单元测试的基础上,测试再将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。</p><p>主要的实施方案:</p><ol class="list-paddingleft-2"><li><p>Big Bang (所有的东西组装好测试)</p></li><li><p>自顶向下(从主程序开始沿控制层逐层向下集成覆盖到所有模块)</p></li><li><p>自底向上(从程序模块最底层逐层向上组装逐层测试 )好处: 能比较好的锁定软件故障的所在位置</p></li><li><p>核心系统集成 </p></li><li><p>高频集成</p></li></ol><p>集成测试和单元测试的区别:</p><ol class="list-paddingleft-2"><li><p>测试对象不同(集成测试针对模块、子系统;单元测试针对基本单元、最小单元)</p></li><li><p>测试依据不同(集成测试针对概要设计;单元测试针对详细设计)</p></li><li><p>测试方法不同(集成测试关心模块之间接口的集成;单元测试只关心单元的内部)</p></li></ol><p>系统测试:是将经过集成测试的软件,作为计算机系统的一个部分,与系统中其他部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有效的测试,以发现软件潜在的问题,保证系统的正常运行。</p><p>系统测试关注点:</p><p> 关注系统本身的使用<br /></p><p> 关注系统与其他相关系统间的连通</p><p> 关注系统在不同使用压力下的表现<br /></p><p> 关注系统在真实使用环境下的表现<br /></p><p>系统测试&集成测试的区别:<br /></p><p>测试对象不同:(系统测试针对除软件之外还包括计算机硬件及相关的外围设备、数据采集和传输机构、支持软件、系统操作人员等整个系统;集成测试针对通过了单元测试的各个模块所集成起来的构件)</p><p>测试时间(系统测试在集成测试之后;集成测试介于单元测试和系统测试之间)<br /></p><p>测试内容(系统测试:整个系统的功能与性能;集成测试:各个单元模块之间的接口)<br /></p><p>测试角度(系统测试:偏于业务角度的验证;集成测试:偏于技术角度的验证)<br /></p><p>三、验收测试(交付测试):针对用户需求、业务流程的正式的测试,确定系统是否满足验收标准,由用户、客户或其他授权机构决定是否接受系统。</p><p>验收测试细分可分为:用户验收测试、运行验收测试(运维)、合同和规范验收测试、alpha测试(开发者版本)、beta测试(脱离开发者,在用户版本上)</p><p><br /></p>查看全部
-
软件测试分类
其他的一些测试分类概念
回归测试、冒烟测试、Monkey测试、AB测试
现在互联网非常重视的一个测试:A/B测试
查看全部 -
兼容性测试
查看全部 -
安全测试
定义:对软件产品进行测试,确保符合产品安全和质量标准
渗透测试
定义:通过模拟对软件系统的恶意攻击评估系统安全性的一种测试
查看全部 -
性能测试
性能测试——验证软件系统的性能,可以满足需求规格给定的指标要求
负载测试——测试过程中逐步增加负载并记录被测系统相应的性能表现,最终确定系统在正常指标下的最大负载
压力测试——系统在极限情况下的压力情况,则系统在何种负载压力下会失效
稳定性测试——稍大于正常业务量的负载,对系统进行持续的长时间的测试
性能指标:
并发用户数VU 每秒事务数TPS
系统响应时间 设备性能
性能测试工具:
Jmeter——基于Java开源的性能测试工具
apacheBench——负载生成工具,Linux自带
LoadUI——针对HTTP接口的性能测试
应用性能管理 APM 比如: 听云
查看全部 -
软件测试的分类
按测试模式来分类:
瀑布模式 敏捷测试 基于脚本的测试 基于风险的测试 探索式测试等
传统的瀑布模式:项目计划 ---》需求分析 ---》软件设计 ---》程序开发 ----》软件测试 ----》集成维护
瀑布模型的优缺点:
优点: 1.强调需求,设计的作用
2.前一阶段完成后,只需关注后续阶段
3.为项目提供了按阶段划分的检查点,里程碑清晰
4.文档规范
缺点: 1.难以适应需求的频繁变化
2.项目周期后段才能看到结果
3.强制的里程碑,完成时间点
4.文档工作量大
V模型:需求分析 ----》概要设计 ----》详细设计 ----》软件编码 ----》单元测试----》集成测试 ----》系统测试 -----》验收测试
查看全部
举报