什么是软件测试
使用技术手段,发现程序中的缺陷,问题的过程,确保软件符合使用预期,确保软件正确性,可靠性.
软件测试目的
发现软件中的问题,减少缺陷,保证软件质量.
软件测试工程师职责
1.找缺陷,提交缺陷,跟踪缺陷。 可以在项目管理软件中进行提交跟踪(禅道)
2.运行程序,执行测试用例,进行功能测试。
3.设计并编写测试用例,用例评审等工作。
4.测试总结,出具测试报告
5.测试计划和测试方案的编写。
测试主流技能
功能测试
对程序的应用,从操作的角度使用软件,寻找软件中的问题
接口测试
使用测试工具对后端的某个接口进行测试
好处: 1.测试提前,后端接口写完后就可以测试
2.可以从测试出功能测试,测试不到的问题
3.可以更好的自动化测试
自动化测试
使用测试工具,批量的对接口进行测试
性能测试
使用测试工具(jmeter),模拟多人访问,找到程序缺陷
测试分类
按阶段划分
单元测试
针对程序源代码进行测试(程序员测试) 例如junit测试
集成测试
以模块为单位的测试
系统测试
对整个系统功能进行测试
验收测试
一般把项目部署到生产环境
主要分为内测、公测,使用不同人群来发掘项目缺陷
按代码可见度划分
黑盒测试
不关注代码,只从UI界面操作测试, 类似功能测试
灰盒测试
部分源码可见,例如接口测试
白盒测试
针对源码的测试 junit测试
质量模型
功能性: 基础功能是否完备
性能: 对访问量的支撑,对硬件资源的要求
兼容性: 对硬件,第三方软件(浏览器)的兼容
易用性: 使用,学习是否便捷
可靠性: 稳定
安全性: 数据安全,权限安全
可维护性: 后期系统升级
可移植性: 软化在不同环境下的使用安装
软件测试流程
需求评审: 理解需求
编写测试计划: 分工 谁来测试哪些功能
编写测试用例: 如何进行测试, 测试各种情况
执行测试用例:测试执行阶段
缺陷管理:提交bug
生成测试报告
回归测试
持续改进
测试用例
测试用例就是测试执行使用的文档, 记录输入数据,预期输出结果,用于指导测试.
测试用例作用
防止漏测
实施测试的标准
指导测试执行
提高测试效率
促进团队协作和沟通
测试用例设计基本方法
1.等价类划分法
测试中我们不可能吧所有数据进行测试,
我们可以对数据进行分类,挑出每类中典型的代表
确定有效等价类(满足的合法的数据)
确定无效等价类(不合法的数据)
2.边界值分析法
主要是针对输入内容的边界值进行测试, 是对等价类划分法的补
3.判定表法
以表格的形式,罗列出多条件相互依赖的关系
4.场景法
把实际使用的场景转化为流程图,根据操作的流程图的步骤设计测试用例,
也是解决多条件的测试问题.
缺陷管理
软件在使用过程中存在的任何问题都叫软件的缺陷,简称bug。
判定缺陷的标准:
少功能
功能错误
多功能
隐性功能未实现
不易使用的(用户体验度) 例如查询慢
缺陷产生原因
需求分析阶段: 了解客户端需求时有歧义
文档 设计阶段
编码阶段
硬件环境
缺陷核心内容
缺陷标题
缺陷的步骤
缺陷的预期结果,实际结果
缺陷的图片
测试工具
抓包工具: 网络请求中数据进行查看
接口测试工具: postman apipost
压力测试: jmeter
软件测试过程模型
V模型:站在软件开发整个生命周期的角度上划分的.
W模型:站在测试人员的角度上,当需求给测试,开发人员讲完需求后,开始介入,前期主要是对测试的计划,任务分配,用例的编写.