测试工程师基础知识

什么是测试?
发现软件中隐藏的缺陷(bug)
使用人工或者自动化手段来运行或者测试某个系统的过程,其目的在于检验它是够满足规定的需求或者弄清预期结果与实际结果之间的差距。

测试的目的是什么?
确保产品完成了它所承诺或公布的功能
确保产品满足性能和效率的要求
确保产品是健壮的 适应用户环境的

测试有哪些原则?
测试证明软件存在的缺陷
不可能执行穷尽测试(不可能把所有的可能性都测试一遍)
测试应尽早启动,尽早介入
缺陷存在集群现象(二八定律)(找到缺陷的地方再找找)
杀虫剂悖论(不要重复使用同一个方法测试一种bug)
不同的测试活动依赖不同的测试背景
不存在缺陷的谬论(没有不存在缺陷的软件)

测试的类型
单元测试
针对被测系统最小的组成单元实施的测试活动,一般由开发人员完成。
集成测试
针对组件/单元与组件/单元之间的接口实施的测试活动,验证接口设计是否与设计相符
系统测试
将通过集成测试的软件,部署在真是用户环境下的测试
验收测试
以用户为主的测试,验收组应该由项目组成员,用户代表组成在不受控环境下执行测试

按照是否运行软件
静态测试
动态测试
按照是否关注代码
黑盒测试
基于规格说明书的测试,不考虑程序内部结构和处理过程,仅依据程序功能的需求规范设计测试用例进行测试的技术
白盒测试
基于程序的测试,按照程序内部逻辑结构和编码结构设计测试用例进行测试的技术
按照是否自动化工具
手工测试
依靠人工执行用例,查找缺陷
自动化测试
以人为驱动的测试行为转化为机器执行的一种过程
按照测试目标

功能测试
性能测试
安全性测试
兼容性测试
用户界面测试

其他分类
冒烟测试
指在对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。
回归测试
是指对软件的新版本测试时,重复执行上一个版本测试时的用例。
探索性测试
什么是软件质量?
软件产品满足用户或规定显性/隐形需求的程度(内部质量、过程质量、外部质量、使用质量)
软件质量的特性
功能性
是指软件产品在指定条件下使用时,提供满足明确和隐含要求的功能的能力
可靠性
是指在特定条件下使用时,软件产品位置规定的性能级别能力
易用性
是指用户在指定条件下使用软件产品时,产品被用户理解、学习、使用和吸引用户的能力
效率
是指在规定条件下,相对于所有资源的数量,软件产品可提供适当的性能的能力。通常,效率就是我们常说的产品性能。
可移植性
是指软件产品从一种环境迁移到另外一种环境的能力。这里的环境,可以理解为硬件、软件或组织能不同的环境。
可维护性
是指产品可被修改的能力。这里的修改是指纠正、改进软件产品和软件产品对环境、功能规格变化的适应性

猜你喜欢

转载自blog.csdn.net/djb1026/article/details/76281092