网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
原则: (1)尽可能测试用例相互独立 (2)一般由代码开发人员实施
好处:(1)能尽早发现缺陷 (2)利于重构 (3)简化集成(为集成测试奠定基础) (4)单元测试规范很大程度上减少文档编写 (5)用于设计
限制:(1)穷尽测试不可能 (2)一行代码需要3~5行测试代码
单元测试框架:PHPUnit CppUnit JUnit nunit(针对.net)
2、集成测试
概念:在单元测试基础上,将单元组装测试,关注接口
集成测试实施方案:(1)Big Bang (2)自顶向下 (3)自底向上 (4)核心系统集成(先测试核心部分) (5)高频测试
2、3常用于以前的瀑布模型,4、5常用于现在的敏捷开发
3、系统测试(主要用黑盒测试)
概念:将集成测试的软件与系统中其他部分结合起来,在 实际运行环境中测试 ,偏于业务角度的验证
关注点:(1)系统本身使用 (2)系统与其他系统的连通 (3)在不同压力下的表现 (4)真实使用环境下的表现
4、验收测试
概念:交付测试。用户进行测试
细分:alpha测试:用户在开发者提供的环境下测试 beta测试:完全脱离开发者
2-2 软件测试手段
1、分类
根据测试可见度:黑盒、白盒、灰盒
状态:静态、动态
测试方式:手工、自动化
黑盒:
优点:(1)容易实施,无需关注内部 (2)更贴近用户视角
缺点:(1)测试覆盖率较低,一般只有40% (2)黑盒自动化测试复用率低,维护成本较高
主要测试什么?(1)不正确or遗漏功能 (2)接口上,输入输出是否正确 (3)是否有数据结构错误或外部信息(比如数据文件)访问错误 (4)系统性能是否满足要求
主要设计方法:(1)等价类划分法 (2)边界值分析法(比较重点关注) (3)错误推断法 (4)因果图法 (5)正交试验分析法 (6)状态迁移图法 (7)流程分析法
白盒:结构化测试,逻辑测试,透明测试
优点:(1)迫使测试人员理解软件原理 (2)覆盖率较高,可以检测每条分支和路径 (3)能发现隐藏在代码的错误 (4)对代码测试比较彻底
缺点:(1)成本高 (2)无法检测遗漏路径 (3)无法检测数据敏感性错误 (4)无法直接验证需求正确性
主要测试方法:(1)代码检测法 (2)静态结构分析法 (3)静态质量度量法 (4)逻辑覆盖法(6种):语句、路径、判定、条件、判定/条件、条件组合覆盖。 (5)基本路径测试法
静态测试:
不执行被测程序,通过评审软件文档、代码、程序复杂度、检查是否符合编程标准,来发现程序不足之处。
有些白盒是静态测试。
方法: 互审:程序员互相检查;走查:小组集体检查;会议:召开会议检查
动态测试:
运行被测程序,比较运行结果与预期结果,分析运行效率、正确性、健壮性等。
黑盒大部分是动态测试。
手工测试:众包测试、探索式测试
优点:容易发现缺陷,容易实施、创造性、灵活性
缺点:不一致性、可靠性低、依赖人力资源、重复测试效率低、覆盖量不容易度量
自动化测试:
用单独的测试工具软件,控制测试的自动化执行,并对预期和结果进行自动检查。
单元、接口、性能多用该测试。
优点:高效高速、准确可靠、高复用性、覆盖量容易度量
缺点:机械、发现缺陷率低、一次性投入较大
2-3 软件测试模式之瀑布模型
按测试模式分类:瀑布模型、敏捷测试、基于脚本测试、基于风险测试、探索式测试等
瀑布模型、v模型、W模型、x模型、H模型
2-4 敏捷测试、基于脚本测试、基于风险的测试
敏捷测试特点:
- 强调从客户角度进行测试
- 重点关注迭代测试新功能,不再强调测试阶段
- 尽早测试,不间断测试,具备条件即测试
- 强调持续反馈
- 预防缺陷重于发现缺陷。
敏捷测试VS传统测试
基于脚本测试-SBT Script-based Testing
脚本测试-ST Scripted Testing
探索式测试-ET Exploratory Testing
- ET完全抛开测试脚本的测试。它是一种测试风格、思维而不是一种测试技。
- 优点:
1.更能激发测试人员的创造性和工作乐趣
2.增加了发现新的或较深入Bug的可能性
3.在较短时间内找到更多Bug以及对SUT做一个快速的评估
4.有利于更加有效的实施自动化
5.更加适用于敏捷项目
6.减少了在简单、繁复上用例的无谓编写时间
- 缺点:
1.测试管理上有局限性,较难协调和控制
2.对于Bug的重复利用和重复上作用有限
3.对测试人员的测试技能和业务知识深度依赖较大
4.只有在被测系统已完全可用的前提下才更有作用
5.ET的生产率很难定义
6.ET本身较难进行自动化
- ET测试方法:局部、全局
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
cKJu3-1714987427967)]
[外链图片转存中…(img-jk8A4AtH-1714987427967)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新