文章目录
软件=程序+数据(库)+文档+服务
- 程序:完成预定功能、性能的可执行的指令
- 操作信息的数据结构
- 描述程序的操作和使用的文档
软件测试:使用技术手段来验证软件是否满足需求
软件质量:
- 满足软件需求,软件需求是度量软件质量的基础
- 不仅仅满足明确的软件需求,还要满足隐藏的软件需求
- 要遵循各种标准定义的开发规则
软件测试的目的:减少软件中的bug,保障软件的质量
软件:控制计算机硬件工作的工具
软件的基本组成:客户端+服务器
软件产生的过程:
- 需求产生(0-1需求、刚需求)
- 需求文档
- UI设计师产生设计效果图
- 产品开发
- 产品测试(需求)
- 部署上线
软件测试主流技能
- 功能测试:验证软件的功能是不是满足需求
- 自动化测试:通过工具或者代码代替手工来自动对软件进行测试(效率高)
- 接口测试:使用代码或者工具对服务端提供的接口进行测试
- 性能测试:模拟多人使用软件,查找服务器缺陷
测试分类
- 按照测试阶段划分:
- 单元测试:针对程序的源代码进行测试,测试单个模块、功能是否能够正常使用(条件是否正确,程序是否无语法错误、逻辑错误)
- 集成测试:又叫做接口测试,针对模块之间访问地址进行测试,换句话就是说把有关联的模块组合起来测试
- 系统测试:对整个系统进行测试包括功能、兼容、文档等全面测试
- 验收测试:特殊项目(内测版),使用不同的人群来发掘项目的缺陷
- 按照代码可见度进行划分
- 黑盒测试:源代码不可见、但是UI功能可见的测试,类似于系统测试
- 部分代码可见比如接口,功能课件的测试,类似于集成测试
- 白盒测试:全部代码可见,UI功能可见,类似于单元测试
质量模型:衡量一个优秀软件的维度
- 功能、性能、兼容、易用、安全
举例说明:
需求文档:- 需要开发一款网络游戏,要求要有十个主功能
- 游戏要支持web和app
游戏上线后预计每日有20w的用户在线
– 功能性:①功能数量为10个;②功能正确实现;③错误处理情况;
– 性能:①服务器每秒处理请求数;②服务器硬件配置是否满足
– 兼容性:①浏览器(各种浏览器能否使用);②操作系统验证;③手机兼容性、分辨率、品牌、系统、网络、和其他软件要兼容
– 易用性:简洁、友好、流畅、美观
– 可靠性:无响应、卡顿(响应时间慢)、死机(系统奔溃)、安全(传输加密 存储加密)
– 可移植性:数据迁移
– 可维护性
测试流程:
- 需求评审:确保各个部门的需求理解是一致的,还要知道产品的主要功能等信息
- 计划编写:测什么、谁来测、怎么测
- 用例设计:验证项目是否符合需求的操作文档
- 用例执行:项目模块开发完成开始执行用例文档实施测试
- 缺陷管理:从缺陷描述到提交开发、需求完整再次验证的过程
- 测试报告:实施测试结果文档
测试用例:
用例:用户使用的案例
测试用例:为测试项目而设计的执行文档
作用:①防止漏测;②实施测试的标准
格式:
- 用例编号:项目_模块_编号
- 用例标题:预期结果(测试点)
- 项目/模块:所属项目/模块
- 优先级:重要程度p0-p4,p0最高,核心功能(用户最常用的)
- 前置条件:执行用例前,需要那些前置操作
- 测试步骤:操作步骤
- 测试数据:操作的数据,没有为空
- 预期结果:期望达到的结果