一、认识软件测试

1.1 什么是软件测试?

使用技术手段验证软件是否满足需求

1.2 软件测试的目的

目的:用较少的人力、物力、和财力,找到软件中存在的问题并修复,降低商业风险

二、常见的测试分类

2.1 按测试阶段划分

  • 单元测试(针对程序源代码进行测试)

  • 集成测试(也称接口测试,将多个模块组合在一起进行测试)

  • 系统测试(对整个系统进行测试。包括功能、性能、文档等)

  • 验收测试(对整个系统进行测试。不同的使用群体进行测试。内测:指定特定人员进行测试;公测:普通用户试用)

2.2 按代码可见度划分

  • 黑盒测试:看不见源代码,针对程序的功能界面进行测试。 —— 主要应用于系统测试阶段

  • 灰盒测试:看到部分代码,针对系统的接口进行测试。 —— 主要应用于集成测试阶段

  • 白盒测试:看到所有代码,针对源代码进行测试。 —— 主要应用于单元测试阶段 总结: 黑盒测试==系统测试 灰盒测试==集成测试==接口测试 白盒测试==单元测试

2.3 测试策略

冒烟测试:针对系统最基本的功能进行测试,保证系统基本的功能和流程可用。

  • 作用:当冒烟测试通过后,才能进入正式的测试阶段(单元、集成、系统)

回归测试:开发修改bug后,再次执行测试用例保证bug修复完成。

  • 作用:验证bug是否修改成功

三、软件测试模型

3.1 质量模型

概念:为测试提供不同的视野角度和验证方向

常见的角度和方向:

  • 功能:最基本的功能实现。例如:拍照功能、发信息、打电话功能

  • 性能:功能实现的好/不好。例如:运行时卡/不卡

  • 兼容性:在主流的硬件软件上能否正常运行。例如:不同硬件、不同品牌手机等

  • 易用性:用户使用是否方便。用户的主观感受。例如:老人使用软件字体要大

  • 可靠性:软件是否长时间稳定运行。例如:系统运行不宕机不崩溃

  • 安全:保证软件的用户信息不被非法获取。例如:个人账户的信息、资金等

  • 可维护性:软件更新、升级是否方便。

  • 可移植性:软件是否可以迁移到不同的硬件服务器上来使用

重点: 功能、性能、兼容、易用、安全

3.2 测试模型

  • W模型(双V模型)

​优点:

  • 既测试文档,也测试代码

  • 尽早的发现bug,修改成本更低

缺点:

  • 操作比较复杂,对于前期需求和设计文档的测试难度比较大

四、案例

1、利用质量模型测试水杯

​2、利用质量模型测试花瓶

​3、利用质量模块测试纸杯

​五、软件测试流程

  1. 需求分析:读懂需求,理解与项目其他成员一致

  2. 计划编写:测什么,谁来测,怎么测

  3. 用例设计:分析需求写出具体的操作案例,供测试执行人员来参考执行

  4. 用例执行:按照测试用例,来进行执行

  5. 缺陷管理:执行用例时,发现问题,就需要提交bug,并跟踪解决

  6. 测试报告:当测试工作全部结束后,对阶段的测试工作进行总结

六、测试用例

6.1 什么是测试用例?

指导测试执行的文档(包含执行时的具体步骤和预期结果)

6.2 测试用例的作用

1. 防止漏测 2. 实施执行的标准

6.3 测试用例的模板

  • 模板包含的元素(总结可能不全,具体元素视公司规定)

  • 以QQ的登录模块为例

  1. 用例编号 唯一性标识一条用例。 格式:项目+模块+编号(项目和模块用英文) eg:QQ_login_001

  2. 用例标题 写清楚用例的测试目的。 格式:预期结果+测试步骤(测试点) eg:登录成功(正确的账号+正确的密码)

  3. 项目/模块 用例测试的项目/模块 eg:登录

  4. 优先级 标识用例的重要程度。 格式:P0-P4。(只有冒烟测试用例可以标记为P0) eg:P0 附录:用例优先级参考分类 *P0:冒烟测试用例,一般为保证软件中最主要、最重要的功能,最基本的流程能正常运行而设计 *P1:次要功能,小功能(成功) *P2:UI、边界、错误的设置(错误) *P3:错误信息、较复杂的场景、不常用的场景

  5. 前置条件 在执行测试用例之前需要做好的准备工作。 有就写,没有可以不写 eg: 1. app 应用正常 2. 网络正常

  6. 测试步骤 在测试过程中具体的操作步骤。 格式:分步骤写1、2、3、4,写明具体的操作 eg: 1. 输入qq号 2. 输入密码 3. 点击登录

  7. 测试数据 操作过程中,如果涉及到输入,则会有数据。 有就写,没有可以不写。 eg: 1. qq号:1441559210 2. 密码:cecn1234

  8. 预期结果 按照需求,执行对应的步骤后,希望看到的结果 eg:登录成功,跳转到个人主页

​6.4 测试用例简单案例

  1. QQ登录

​微信发朋友圈

​认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,如果下面这些你用得到的话可以直接拿走:

① 自学必备的完整项目 (包括源码和环境,可以自己安装在本地使用)

② 测试计划模板,测试用例设计模块,功能测试报告模块等(涵盖了测试工作中所有模块)

③ 软件测试经典面试题(笔者根据自己10多年测试经验整理)

④ selenium+Python(Java)自动化测试实战.pdf,(包括了Python以及Java自动化的所有知识点)

⑤ 软件测试(自动化测试)学习路线图(从此自学有了方向不在迷茫)

⑥ 简历模板

软件测试基础知识整理(详细版)收藏这篇足矣相关推荐

  1. 软件测试基础知识整理,都给你准备好了

    目录 1.软件测试基本概念 2.软件测试分类 3.测试工程师 4.软件测试工具简介 1.软件测试基本概念 1.软件=程序+文档,软件测试=程序测试+文档测试. "程序"是指能够实现 ...

  2. python基础知识资料-python基础知识整理(值得收藏)

    近些年python语言非常流行,许多开发者都会学习一些python相关知识,本文为大家整理了python的一些基础知识,希望对大家有一定的帮助. 注:下文Python代指Python3. 基本信息和J ...

  3. python基础知识-python基础知识整理(值得收藏)

    近些年python语言非常流行,许多开发者都会学习一些python相关知识,本文为大家整理了python的一些基础知识,希望对大家有一定的帮助. 注:下文Python代指Python3. 基本信息和J ...

  4. 我敢打赌你一定不知道的软件测试基础知识整理

    目录 1.什么是测试覆盖率吗? 2.提交的缺陷包含什么内容? 3.你们的测试流程是怎样的? 4.你写过测试计划么,包含什么内容 5.如何设计登录模块的测试用例? 6.总结 7.重点:配套学习资料和视频 ...

  5. 软件测试基础知识整理(适用于面试)

    1.软件测试的原则 一:测试标准建立在用户需求之上 二:当质量和时间冲突时,质量放在首位 三:需求分析阶段就应该定义好产品的质量 四:测试用例不是写出来的,是设计出来的 五:测试计划是测试工作的前提 ...

  6. Java原理性基础知识整理[详细]

    文章目录 Java程序编译过程 编译型和解析型语言 命名规范 编程风格 大括号 非C风格的数组声明 阿里巴巴Java开发手册 On Java 8 Google Java 编程风格指南 基本数据类型 整 ...

  7. 全网最全的软件测试基础知识整理(新手入门必学)

    目录 1.什么是软件 2.软件工程的内容 3.软件的生命周期 4.什么是软件测试 5.软件测试的方法 6.软件测试阶段有哪些任务 7.测试的原则 8.软件测试工作流程图 9.自动化测试 10.自动化测 ...

  8. 【unity学习记录】TileMap基础知识(详细版)

  9. 软件测试基础知识大全【乐搏TestPRO】

    在很多人的认知里,软件测试入门门槛低,简单易学.确实,软件测试基础知识更偏向于理论方法的学习,及部分常用工具的学习. 接下来的70个基础知识讲解,弄明白后这些问题后,软件测试入门也基本掌握了.本篇共分 ...

最新文章

  1. 帝国cms调用缩略图和具体文章的方法
  2. python【蓝桥杯vip练习题库】ALGO-118连续正整数的和(枚举优化)
  3. Js的Url中传递中文参数乱码的解决
  4. 恐龙机器人钢索恐龙形态_四川恐龙多,自贡是个窝——恐龙,我来了
  5. 【原创】Android之修改AlertDialog对话框及使用系统Holo风格
  6. 多线程条件变量(pthread_cond_wait)用法
  7. python也有数组 --- 标准库中的列表工具array()
  8. axure产品原型图,元件库导入方法
  9. 理解常量指针与指针常量?
  10. Layui 的内置jquery 版本
  11. win10桌面右键一直转圈_吐血推荐:掌握这些技巧,win10工作效率提升9999%
  12. 极限-反函数极限问题
  13. python中reduce函数的作用_python中reduce()函数的使用方法示例
  14. python 聚宽 对股票名称或代码进行查询
  15. provide 与 inject 的使用
  16. linux su命令在哪里,Linux su命令
  17. LeetCode - 644 子数组最大平均数 II
  18. Node.js与相关依赖的版本对照表
  19. 缺失数据填补基础方法(1)——k-Nearest Neighbors (kNN) 填补
  20. 网页设计至少要掌握哪些技能

热门文章

  1. Win7重新分区指令
  2. python selenium 给textarea赋值
  3. 机器视觉硬件——镜头
  4. 推荐一款vue页面加载时的进度条 npropgress插件
  5. 表单时间转换器(formatDate)
  6. vue 的 MD5 加密细节
  7. VRB亚太区启动大典盛大举行,开启财富管理全新时代
  8. ORACLE 备份查询数据
  9. android 选择文件flyme不让选,最封锁的Android体系 魅族Flyme
  10. 国庆节来了,品牌该怎么做好借势营销?