单元测试
例如:手机中的美颜功能
单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。
测试对象:最小模块
测试人员:白盒测试工程师或开发工程师
测试依据:代码和注释+详细设计文档(代码的逻辑结构)
测试方法:白盒测试
测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试
集成测试
集成测试也称联合测试(联调)、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。
主要目的:软件单位之间的接口是否正确。
测试对象:模块间的接口
测试人员:白盒测试工程师或开发工程师
测试依据:单元测试的模块+概要设计文档
测试方法:黑盒测试和白盒测试相结合
测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响。
系统测试
将软件系统看成一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。
测试方法:黑盒测试
测试依据:需求规格说明文档
测试内容:功能、性能、界面、可靠性、易用性、兼容性、安全性等
回归测试
修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。
自动回归测试将大幅降低系统测试、维护升级等阶段的成本。
自动化测试重点进行回归测试,从功能测试用例提取出来。
冒烟测试
测试对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续正式的测试工作。
执行者:版本编译人员。
冒烟测试一般在开发人员开发完毕后送给测试人员来进行测试时,测试人员会先进行冒烟测试,保证基本功能正常,不阻碍后续的测试。
验收测试
确保软件准备就绪,按照项目合同、任务书、双方约定的验收依据文档,向软件购买方都展示该软件系统满足原始需求。
Alpha测试
手机出厂前的最后一次测试,开发和测试人员不参与。
由一个用户在开发环境下进行的测试,目的是评价软件产品的功能、局域化、可使用性、可靠性、性能和支持。
Beta测试
由软件的最终用户们在一个或多个客房场所所进行。
第三方测试
介于开发方和用户方间组织的测试。
静态测试
不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。
- 检查项:代码风格和规则审核;程序设计和结构的审核;业务逻辑的审核;走查、审查与技术复审手册。
- 静态质量:功能性、可靠性、可用性、有效性、可维护性、可移植性。
动态测试
运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。
组成:构造测试用例、执行程序员、分析程序的输出结果。
自动化测试
在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。
实施步骤:
- 完成功能测试,版本基本稳定
- 根据项目特性,选择适合项目的自动化工具,并搭建环境
- 提取手工测试的测试用例转化为自动化测试的用例
- 通过工具、代码实现自动化的构造输入,自动化检测输出结果是否符合预期
- 生产自动化测试报告
- 持续改进,脚本优化
黑盒测试
黑盒测试也称功能测试,测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入输出数据。
白盒测试
又称结构测试、透明盒测试、逻辑驱动测试或基于代码测试,打来盒子去研究里面的源代码和程序结果。
灰盒测试
介于白盒测试和黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。
业务测试
关注需求和用户。
测试人员把系统各个模块串接起来运行、模拟真实用户实际的工作流程,满足用户需求定义的功能来进行测试的过程。
查看邮件:
登录网站-输入用户名、密码-进入收件箱-查看邮件-点击打开-查阅-关闭邮件-退出邮箱-关闭网站
界面测试(UI测试)
测试用户界面的功能模块的布局是否合理、整体风格是否一致、各个控件的放置位置是否符合客户使用习惯;测试界面操作便捷性、导航简单易懂性、页面元素的可用性、界面中文字是否正确、命名是否统一、页面是否美观、文字、图片组合是否完美。
文档测试
文档的术语、文档的正确性、文档的完整性、文档的一致性、文档的易用性
兼容性测试
WEB测试
APP测试
软件之间是否能很好的运作,会不会有影响、软件和硬件之间能否发挥很好的效率工作,会不会影响导致系统的崩溃。
- 平台测试
- 浏览器测试
- 软件本身能否向前或向后兼容
- 测试软件能否与其它相关的软件兼容
- 数据兼容性测试
易用性测试
易用性是交互的适用性、功能性和有效性的集中体现。
安装测试
测试程序的安装、卸载
性能测试
检查系统是否满足需求规格说明书中规定的性能。
- 对资源利用(如内存、处理机周期等)进行的精确度量
- 响应时间、吞吐量、日志事件(如中断、报错)
- 处理精度
内存泄露测试
造成内存泄漏的原因:
- 分配后内存之后忘了回收
- 程序写法有问题,造成没办法回收
- 某些API函数的使用不正确,造成没办法回收
- 没有及时释放