软件测试入门

1.软件测试分类

软件是什么:程序、文档、数据构成的集合。
软件测试按照测试方法可分为:

  • 黑盒测试:只关心输入输出,不关心内部结构
  • 白盒测试:测代码,比如单元测试
  • 灰盒测试大概率测试代码逻辑实现,比如:接口测试

软件测试按照方向可分为:

  • 功能测试
  • 性能测试
    ① 压力测试:发现软件的性能瓶颈(举重最多能举多少斤)
    ② 负载测试:(举重在一个高重量(峰值的80%左右)下能够举多久)
    ③ 并发测试:同一时间能让多少用户同时做一件事情
  • 安全测试

软件测试按照阶段可分为:

  • 单元测试:测试不同的代码块,重点测试方法、函数、类
  • 集成测试:将不同模块集成到一起,重点测试接口
  • 系统测试:集成完成后是一个完整软件。重点测试:功能、性能、安全、兼容性(WEB、APP兼容性)、易用性(用户体验)、稳定性、UI(检查软件界面是否好看)、。。。
  • 验收测试

软件测试按照对象可分为:

  • APP测试
  • WEB测试
  • 物联网测试
  • 车联网测试
  • 小程序测试
  • 嵌入式测试
  • 大数据测试
  • AI测试
  • 。。。

软件测试按照软件状态可分为:

  • 静态测试:不运行软件的情况下测试,用白盒测试:看代码
  • 动态测试:运行软件进行测试,用黑盒和灰盒测试

软件测试其他可分为:

  • 冒烟测试:测试前的测试,看一个软件具不具备可测试性(闪退等就不具备可测试性)
  • 回归测试:检查之前发现的问题开发人员是否已修改,并且检查是否影响别的功能
  • α测试:内测,内部工作人员试用该软件
  • β测试:公测,外部人员也参与试用该软件

补充:互联网公司的研发团队结构

  • 项目经理:负责整个项目的管理
  • 产品经理:负责软件的需求收集设计等
  • 开发:写代码,分为前端和后端
  • 测试
  • 运维:负责硬件网络设备的维护和管理
  • 运营:产品完成后靠运营去拉用户
  • 设计:负责对软件的UI进行设计

2. 研发管理模型

  1. 瀑布流:上下排序,不可逆转。是传统的管理模式。缺点是若中间某一环节一旦出错,就得重头再来,过程十分耗时,效率低。
    在这里插入图片描述

  2. V字型:开发的环节和测试的环节一一对应。使得每个测试阶段都有依据,在瀑布流的基础上提升了工作效率。
    在这里插入图片描述

  3. W字型:又叫双V模型。左边的V是开发所做的事情,右边的V是测试所做的事情。在V字型的基础上大大提高了整个团队的工作效率。是开发和测试同时进行的模式。是目前企业中使用最多的管理模型。
    在这里插入图片描述

  4. 敏捷模型:没有具体的工作流程。特点:高效工作,及时沟通,日报(每个人每天都将自己的工作写个报告),白板(写清每个人的任务),站立会(早会),集中办公

  5. 螺旋型

  6. H字型

  7. 。。。

3.测试流程

  1. 需求分析阶段
    ① 需求分析:分析需求文档、产品原型、口述
    ② 学习业务流程
    ③ 提取功能点:将产品原型划分成每个小的功能点
    ④ 编写需求分析书:没有需求的话参考市面上已经成熟的同类型的产品的实现

  2. 测试设计阶段
    写文档:① 测试计划(编写方法(5W1H):what、where、when、who、why、how),主要写时间人员以及资源的安排分配
    ② 测试方案:针对每个测试内容如何展开测试,采用什么测试计划,什么测试工具
    ③ 测试策略:哪些测试内容先测,哪些测试内容后测,开始测试和结束测试的标准是什么
    ④ 测试用例:较重要,见下面

  3. 测试执行阶段:将测试用例里的实际结果和预期结果做对比,如果一样则通过,如果不一样则提交bug,然后进行回归测试。详见bug的管理。

  4. 测试总结阶段
    编写测试报告:
    ①对工作的总结;
    ②对BUG的统计分析:测试、开发、软件模块、等级、解决时间、每个版本、BUG的状态
    ③ 对被测软件的质量评估

4.测试设计阶段——测试用例

1、测试方法:

  1. 等价类:找出几个具有代表性的值进行测试
    等价类:无效等价类和有效等价类

  2. 边界值(用微信红包金额举例(0-200)
    在这里插入图片描述

  3. 场景法

  4. 因果图

  5. 判定表

  6. 路径覆盖法

  7. 。。。

2、测试用例
测试用例是软件测试的核心,为了特定目的而设计的一组测试输入、执行条件、预期结果的输出文档。测试用例一般以excel表格的形式呈现,主要包括以下几部分:

  • 用例编号:是唯一的。
  • 用例名称:言简意赅,用最少的字描述清楚这个用例是什么(在什么情况下做什么事得到什么结果)
  • 前置条件:执行这个用例之前,软件必须要满足的条件
  • 优先级:执行这条用例的时间要求紧急程度的等级
  • 重要级:这个被测的功能在系统里面的重要级别
  • 测试数据
  • 测试步骤
  • 预期结果
  • 实际结果

一个测试用例的例子:
在这里插入图片描述
下图是微信发红包这一个功能点,这一个功能点有四条测试用例,很多条测试数据
在这里插入图片描述

5. 测试执行阶段——BUG的管理

BUG的管理:

  1. bug的管理平台/系统/工具:记录bug的平台,如:禅道、BUGFree、ALM/QC、JIRA。。。
  2. bug的六要素:
    ① 编号
    ② bug的名称:言简意赅,看到题目就知道是什么问题
    ③ bug的优先级:根据实际情况,这个bug需要优先解决吗 ,分高/中/低 三级
    ④ bug的严重级别:
    致命的:影响产品的核心流程的正常使用;导致软件挂了、闪退、崩溃;和钱有关
    严重的:导致某个非核心功能无法使用
    一般的:功能的某些异常场景有问题
    轻微的:建议性的问题,用户的体验,UI上的问题
    ⑤ bug的重现步骤:可以把用例的步骤复制过来,预期结果,实际结果
    ⑥ 附件:包括截图、日志、视频,目的是为佐证BUG
  3. bug的生命周期
  4. bug的状态:新建、打开/激活、已确认、已解决、拒绝、重新打开、关闭、延期处理、重复BUG
  5. bug的等级

6. 测试应用

软件结构:

  1. B/S:browser/server。browser:浏览器,不需要单独安装,
  2. C/S:client/server。client:客户端,需要单独安装的,比如App

6.1 APP测试

APP测试比WEB测试更加复杂,要额外进行许多专项测试,例如:

  1. 安装/卸载
  2. 消息推送
  3. 更新
  4. 弱网测试(在2G、3G、。。。各种不同的网络下进行测试)
  5. 场景交互测试
    ①:来电话了
    ②:一边听音乐,一边玩该App
    ③:调用相机
    ④:前后台的切换,即App之间的切换
  6. 权限测试:拒绝每个权限请求后该App是否还能正常使用
  7. 离线测试:断网之后该App是否还能正常打开

6.2 WEB测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值