既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
方法: 互审:程序员互相检查;走查:小组集体检查;会议:召开会议检查
动态测试:
运行被测程序,比较运行结果与预期结果,分析运行效率、正确性、健壮性等。
黑盒大部分是动态测试。
手工测试:众包测试、探索式测试
优点:容易发现缺陷,容易实施、创造性、灵活性
缺点:不一致性、可靠性低、依赖人力资源、重复测试效率低、覆盖量不容易度量
自动化测试:
用单独的测试工具软件,控制测试的自动化执行,并对预期和结果进行自动检查。
单元、接口、性能多用该测试。
优点:高效高速、准确可靠、高复用性、覆盖量容易度量
缺点:机械、发现缺陷率低、一次性投入较大
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测试方法:局部、全局
局部探索式测试:输入、状态、代码路径、用户数据、执行环境。
全局探索式测试:漫游测试法—–商业区、旅馆区、历史区、旅游区、娱乐区、破旧区。
ET和ST要结合使用 ET应用比如说,问几个问题猜出你心中的答案的应用
基于风险测试-RBT Risk-based Testing
风险有:质量风险、管理风险、风险级别=风险可能性*风险严重度
基于模型的测试-MBT model-based testing
根据需求建模,借助工具建模然后执行,偏向于自动化测试。主要的MBT工具,微软的Spec Explorer。。
2-5 软件测试的分类
按照测试类型分:
功能测试(最主要) | 性能测试 | 兼容性测试 | |
部署测试 | 易用性测试 | ||
文档测试 | 本地化测试 | ||
安全测试 | 无障碍测试 | 可靠性测试 |
-
功能测试:对提供给用户的功能进行测试。
-
- 针对的问题:功能 错误或遗漏、界面问题、软件本身性能错误、数据及访问错误初始化及终止错误。
- 功能自动化测试工具:QTP(基于关键字驱动)现在其实已经用的很少了、winrunner; silkTest; Rational robot; selenium; Watir; Sikuli
- 针对的问题:功能 错误或遗漏、界面问题、软件本身性能错误、数据及访问错误初始化及终止错误。
-
性能测试:负载测试、压力测试、稳定性测试
-
- 性能指标:并发用户数VU、每秒事务数TPS、系统响应时间、设备性能
- 自动化测试工具:LoadRunner、Silkperformer、Jmeter、WebLoad、Apache Bench、LoadUI
- 静态性能评估:对Web应用的页面进行静态分析,并给出评估结果的性能分析方法。工具有YSlow、PageSpeed。他们是浏览器插件,评级静态网页的标准有14个,减少HTTP请求之类的。
- 应用性能管理(APM):提供对系统的实时监控以实现性能管理、故障管理的解决方案。比如听云。
- 性能指标:并发用户数VU、每秒事务数TPS、系统响应时间、设备性能
-
安全测试:是否符合产品安全需求和质量标准。
渗透测试:通过模拟对软件系统的恶意攻击行为来评估系统安全性的一种测试,与黑客不同于,黑客未授权,而且最后还会抹掉记录。
-
- 渗透测试 VS 安全测试
攻————–防
点————–面
-
- 可以查看OWASP网站,关注网站中的OWASP Top10和Test Guide
- 安全测试工具:APPscan(针对web应用的漏洞扫描)、Webinspect(类似APPscan)、Nessus(针对服务器主机类)、Nmap(端口嗅探工具)、MetaSploit(攻击框架)、WebScarab(代理劫持)、Fortify(白盒测试,代码静态分析)、W3AF(针对web应用)
- 可以查看OWASP网站,关注网站中的OWASP Top10和Test Guide
-
兼容性测试:软件本身的兼容性、不同平台下的兼容性、在运行设备下的兼容性、软件互操作性(指的是软件内部不同功能操作是否兼容 & 与其他软件是否兼容,比如与微信是否兼容,与微信不兼容基本上就没用了)
-
- 对web应用,还有浏览器兼容性,因为浏览器的内核不同
- 浏览器兼容性测试工具:BrowserShots(该网站输入url值,可以看不同平台下的显示)
- 对web应用,还有浏览器兼容性,因为浏览器的内核不同
-
文档测试:配套的文档的测试。如用户手册、使用说明、用户帮助文档等。
-
可靠性测试:软件可靠性、(可靠性测试更多的是)硬件可靠性。
-
易用性测试:使用软件时是否感觉方便,用户体验怎样。
-
本地化测试:针对软件的本地化版本实施的针对性测试。比如英文版,中文版。不过不仅仅是语言,测试内容还有:1.语言、书写习惯;2.时区、日期格式、货币;3.当地风俗、法律法规;4.政治敏感内容。
-
部署测试:安装测试,主要验证系统部署过程,并确保软件经过安装测试后可以正常使用。主要测试内容:不同环境下的部署验证;参照部署文档执行,过程的合理、正确性;
-
无障碍测试:提供便于特殊人群使用的功能
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
链图片转存中…(img-bOnKv09H-1715003284735)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!