软件测试的定义
1、 通过手工或者工具对“被测对象”进行测试的操作,从而验证实际与预期结果之间是否存在差异
2、软件测试是一个寻找BUG的过程
3、软件测试是衡量软件品质,验证实际结果和软件需求规格书之间的差异,确认缺陷得以修复。
软件测试的作用
1、通过测试工作可以发现 并修复软件当中存在的缺陷,从而提高用户对产品的使用信心 (验证和确认(回归测试:1、保证当前的缺陷得以修复 2、与此板块相关的模块没有出现问题))
2、测试可以记录软件运行过程中产生的一些数据,从而为决策提供数据的支持
3、测试可以降低同类型产品开发遇到问题的风险
软件测试的原则
1、测试证明软件存在缺陷 :无论执行什么样的测试操作都能证明当前软件是有缺陷的
2、不能执行穷尽测试:有些功能是没有办法将所有的测试情况都罗列出来,所以任何的测试操作都有结束的时间
3、缺陷存在集群现象(80%的bug来自于20%的模块):对于软件功能说,核心功能占20%,非核心是80%。在实际工作中我们会集中测试20%的核心功能,所以这个部分发现缺陷的几率就会高于80%。因此我们就会遇到缺陷都集中在20%功能模块里的现象。
4、某些测试需要依赖特殊环境
5、测试应尽早介入(应当尽早的不断地进行软件测试):为了更多的发现和更好的解决软件中的缺陷,我们追求测试工作尽早的开展
6、杀虫剂现象:同样一个测试用例不能重的执行多次,因为软件会对他产生免疫。
7、不存在缺陷谬论:任何软件不可能是完美的
8、测试人员应该妥善保存测试过程当中所产生的文档
9、测试人员应该根据测试计划、测试用例进行测试,杜绝测试的随意性。
测试对象
程序+数据及结构+文档
每个阶段相应的测试对象
1、需求分析阶段:各种需求规格说明书。
2、软件架构设计:API接口文档(接口测试)
3、编码实现阶段:源代码(白盒测试、单元测试)
4、系统功能使用:软件功能主体(当前行业做的最多的一种测试)
测试级别
1、单元测试(白盒测试):对类、函数、组件进行测试(参考文档:详细设计说明书)
2、集成测试(接口测试)(灰盒测试):将多个单元模块组合、然后验证他们之间的连通性。(参考文档:概要设计文档)
3、系统测试(黑盒测试):在集成测试基础上对软件及周边作主体测试(功能,性能,安全等等特性测试),这是当前行业最多的一种测试。由测试人员充当用户,然后对软件功能主体进行测试
4、验收测试:(黑盒测试)
(1)Alpha (a)测试 -内测
(2) bata (B)测试 - 公测
(3)UAT( user acceptance test )测试---- 由客户派出对于业务非常精通的人员来使用该软件,从而对功能进行测试。
系统测试分类 (测试项)
1、功能测试
2、兼容性测试
3、安全测试
4、性能测试:稳定性测试、负载测试、可靠性测试
5、界面测试
6、一致性测试
7、可移植性测试
8、容灾性测试
9、可配置性测试
10、可交互性
11、可用性
12、绿色健康
按测试方法分类
白盒测试:(结构性测试) (逻辑驱动测试)
黑盒测试:(数据驱动测试)(系统测试)
灰盒测试:介于两者之间 (接口测试)
按测试对象是否执行分类
1、静态测试:指的就是测试不执行
2、动态测试:将软件运行在真实的使用环境中进行测试
按测试手段进行分类
1、手工测试
2、自动化测试
软件质量的六大特性
1、功能性
2、易用性
3、可靠性
4、效率性
5、可维护性
6、可移植性
软件测试流程
1、需求分析
2、测试计划
3、测试设计:测试方案、测试用例、评审记录
4、配置环境(搭建测试环境)
环境=软件+硬件+网络
软件测试环境包含哪些?
软件:操作系统,应用软件,数据库软件
硬件:系统配套硬件
网络:
5、执行测试用例:执行结果、bug清单
冒烟测试(预测试、通电测试、接收测试)
6、回归测试及缺陷跟踪
7、输出测试报告
8、测试结束
测试专用缩略语
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。