一、软件测试的基本概念
什么是软件?
软件:控制计算机硬件工作的工具。(操作系统也属于软件)
什么是软件测试?
软件测试就是使用技术手段验证软件产品特性是否满足用户的需求。
二、软件测试的目的
减少软件缺陷(bug),保障软件质量。
三、软件产生的过程
1.需求产生(需求方——客户、用户,产品经理)
2.需求文档(产品经理)
3.设计效果图(UI设计师)
4.产品开发(研发人员)
5.产品测试(测试人员)
6.部署上线
四、软件测试流程
1.需求评审:确保各部门需求理解一致。
2.计划编写:测什么、谁来测、怎么测。
3.用例设计:验证项目是否符合需求的操作文档。
4.用例执行:项目模块开发完成开始执行用例文档实施测试。
5.缺陷管理:对缺陷进行管理的过程。
6.测试报告:实施测试结果文档。
五、软件质量模型
质量模型:衡量一个优秀软件的维度。
功能性、性能、兼容性、易用性、安全、可靠性、可维护性、可移植性。
功能性:功能数量,功能正确实现,错误处理情况等。
性能:服务器每秒处理请求数,服务器硬件配置是否满足。
兼容性:浏览器(谷歌、IE、火狐、欧朋、苹果),操作系统,手机(分辨率,品牌,系统,网络,其他(和其他app是否兼容))。
易用性:简洁,友好,流畅,美观。
安全:传输和存储加密。
可靠性:无响应,卡顿,死机(系统崩溃)。
可维护性
可移植性:网站数据迁移。
六、生命周期
(一)软件的生命周期
软件生命周期是指从软件产品的设想开始到软件不再使用而结束的时间。 如果把软件看成是有生命的事物,那么软件的生命周期可以分成6个阶段,即
需求分析、计划、设计、编码、测试、运行维护。
(二)软件测试的生命周期
软件测试的生命周期: 需求分析→测试计划→ 测试设计、测试开发→ 测试执行→ 测试评估
需求阶段 :测试人员了解需求、对需求进行分解,得出测试需求。
计划阶段 :根据需求编写测试计划/测试方案 。
设计阶段 :测试人员适当的了解设计,对于设计测试用例是很有帮助的,测试人员搭建测试用例框架,根据需求和设计编写一部分测试用例 。
编码阶段:测试人员一般是不需要编码的,但已经编码的模块,专业的白盒测试人员可以计划执行单元测试,完善、细化测试用例以及调整测试计划和方案。
测试阶段:测试阶段是软件测试人员最为重要的工作阶段,根据测试用例和计划执行测试,在执行的过程中记录、管理缺陷,测试完成后编写测试报告。
运行维护
:测试人员需要参与项目的实施工作。测试人员对项目产品的业务和操作非常了解,加上测试人员的沟通表达能力一般都比较强,所以测试人员可以参与用户使用软件的培训,在试运行项目时收集问题并及时反馈给相关负责人。
(三)bug的生命周期
生命周期中缺陷状态:新建→ 指派→ 已解决→ 待验→ 关闭
1.发现BUG
2.提交BUG
3.指派BUG
4.研发确认BUG
5.研发去修复BUG
6.回归验证BUG
7.是否通过验证
8.关闭BUG