一、话题引入

功能测试的流程是什么?给你一个页面你怎么测?给你一个杯子,你怎么测?
这几个问题,参加过校招测试岗面试的小伙伴可能都不陌生,因为在面试的时候,这几个问题基本上每次都会被问到。其实不难理解,因为作为软件测试工程师,最先接触的就是功能测试,再到后面的接口测试、性能测试…
所以作为软件测试工程师,肯定是需要对如何进行功能测试有一定的了解,这就不难解释为啥面试官喜欢问这几个问题了。
本文主要结合笔者的实际工作经验,整理下功能测试的测试流程,给有需要的测试小伙伴解惑~

二、功能测试基本概念

1,什么是功能测试?

功能测试又称黑盒测试,是在不了解程序内部结构和内部特性的情况下进行的测试方法。

2,功能测试的主要做什么?

功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。

三、功能测试流程

1,研读需求文档

在接到一个测试项目时,我们首要的工作,就是研读需求文档,结合需求文档,了解项目需求。
在研读需求文档的过程中,我们需要对需求信息进行整理,并针对表述不明的地方提出疑问。这些问题需要及时找产品确认,及时解惑。

2,编写测试计划

在对需求文档无疑问后,结合需求文档及整理的信息,测试负责人就可以开始撰写测试计划了。
这个主要是为了保证对后续的测试工作有一个明确的计划,以便后续测试工作的正常进行。
测试计划主要包含产品概述、风险分析、测试方法/途径、测试标准、测试范围/测试区域/测试项、测试目标/被测特征、测试优先级、测试策略、测试交流、测试标准测试周期、进度安排(任务、人员)、测试配置/测试资源(软硬件、人力…)、需交付文档等内容。

3,设计与编写测试用例

接下来,就是进行测试用例的设计和编写了。
结合需求文档及前面整理的信息,对功能进行拆分并整理出测试点。再结合测试点设计与编写测试用例。

补充1:功能测试(即黑盒测试)常用的测试用例设计方法有场景法、等价类、边界值分析、决策表、错误推测等。
1)场景法
概念:模拟用户操作软件时的情景,主要用于测试系统的业务流
程。拿到一个测试任务,先关注其主要功能和业务流程是
否正确实现,用的就是场景法来完成测试。
分类:基本流(按正确的操作流程来测);备选流(按错误流程来测)
步骤:分析软件需求;从用户角度出发,写出业务流程和业务规划;写出基本流场景和备选流场景
举例:使用场景法设计登录功能的测试用例

结合流程图可以知道,登录功能的基本流为输入账号、密码->验证账号是否有效->验证密码是否正确->登录成功,进入首页;备选流为账号不存在/密码错误,返回错误提示并留在登录页面。
基于上述分析,得到测试用例如下。

编号 场景 账号 密码 预期结果
1 场景1:登录成功 Y Y 登录成功,进入首页
2 场景2:账号无效 N 错误提示1,留在登录页
3 场景3:密码错误 Y N 错误提示2,留在登录页

2)等价类
概念:等价类,是输入条件的一个子集合,该输入集合中的数据对于揭示程序中的错误是等价的。从每一个子集中选取少数具有代表性的数据,从而生成测试用例。
分类:有效等价类;无效等价类
步骤:通过需求分析,找出程序的输入域;将输入域划分为若干类;每你一类中选取代表性的数据等价于这类中的其他值
举例:使用等价类法设计手机号注册功能的测试用例(要求手机号有效,密码为6位数字)

首先明确输入域为账号和密码。基于此,从有效等价类、无效等价类的角度,可以得出以下测试用例

编号 输入域 等价类用例 备注
1 手机号 1)未注册的有效手机号 有效等价类
2 手机号 2)已注册的有效手机号
3 手机号 3)手机号位数为0(空)
4 手机号 4)手机号位数为10位
5 手机号 5)手机号位数为12位
6 手机号 6)手机号位数为11位,但不是有效手机号
7 手机号 7)手机号含非数字
8 密码 1)密码为6位数字 有效等价类
9 密码 2)密码为0位数字(空)
10 密码 3)密码为5位数字
11 密码 4)密码为7位数字
12 密码 5)密码为6位,但含非数字

3)边界值分析法
概念:边界值分析法是是对输入或输出的边界值进行测试,主要是作为对等价类划分法的补充。
步骤:通过需求分析,找出边界;写出边界值:最值;得到边界值(小于最小值、大于最大值)
举例:两位数加法计数器功能的边界值。若基于此,用边界值法设置测试用例。显然,边界值为-99、99、100、-100

4)决策表法
概念:决策表考虑输入输出的组合情况,是把作为条件的所有输入的各种组合值以及对应输出值都罗列出来而形成的表格。
步骤:通过需求分析,分析输入输出;画判定表(即决策表);分析和简化判定表
举例:略

5)错误推断法
概念:根据经验或直觉推测程序中的可能存在的错误,从而针对性的编写检查这些错误的测试方法
步骤: 列举出程序中所有可能有的错误和容易发生错误的特殊情况;根据他们结合需求文档,选择测试用例
举例:略

补充2:功能测试(即黑盒测试)的测试用例编写,一般包含的元素为编号、标题、前置条件、操作步骤、参数、预期结果、用例状态、优先级。

4,测试用例评审

测试用例编写完毕后,便可以开始组织测试用例评审了。
用例评审主要是产品、开发和测试人员。通过用例评审一方面可以对用例进行查漏补缺,以避免测试点遗漏;另一方面是使三方达成需求理解统一并确定用例的优先级,以减少测试人员执行阶段做无效工作。
用例评审结束后,要针对评审结果,对用例进行维护,得出最终的测试用例。

5,搭建测试环境、执行测试用例

准备工作做好后,待开发提测后,便可以开始搭建测试环境、执行测试用例了。

6,提交缺陷报告、回归测试

测试用例的执行过程中,往往会发现bug,发现一个bug后,在排除由于环境等因素导致的无效bug后,确定复现步骤,并在禅道、jiar等平台中提交缺陷报告并在开发修复后及时做好回归测试及确认测试

7,测试总结报告输出

测试结束后要编写测试总结报告,分析实际测试与计划的偏差、给出继续测试/终止测试的结论、总结经验教训。
测试通过后,要及时通知产品进行验收,待产品验收通过后,才能走发布上线流程。发布上线后要第一时间到生产环境进行线上验证,确保功能正常。

测试流程||功能测试相关推荐

  1. APP不同上线情况对应的测试流程

    一个App软件从研发提测到版本上线都会经过哪些测试流程呢?很多人认为就是进行功能测试,没bug了就提交审核,审核通过就直接上线了,其实不然,有些步骤是需要特别关注的,否则极易造成线上bug,本文千锋教 ...

  2. 移动app测试流程与测试点

    移动app测试流程和测试点 1.接收版本 2.版本送测检查 3.ui测试 4.功能测试 5.性能Test 6.兼容性测试 7.上线步骤测试 8.联调测试 功能测试:各个功能点 测试客户端与pc端的交互 ...

  3. 一个项目的整个测试流程

    最近一直在进行接口自动化的测试工作,同时对于一个项目的整个测试流程进行了梳理,希望能对你有用~~~ 需求分析: 整体流程图: 需求提取 -> 需求分析 -> 需求评审 -> 更新后的 ...

  4. 从测试流程角度,阿里P8大佬对产品质量的一些总结思考...

    两个熟悉的场景: 生产环境出现问题,解决问题,原因复盘.责任分配到人: 无休止的测试-回归-再测试-再回归测试,已经投入了很大精力,但仍对项目质量不信心: 如果自己所负责或参与的项目经常遇到上面的两种 ...

  5. app、web和接口测试测试流程

    一.web测试流程 1.需求分析,了解具体需求 2.测试准备:原型图.效果图.需求文件.测试用用例.用例评审.各种测试数据准备 3.测试环节:接受版本开始执行 1)冒烟测试:对版本质量的控制以及此版本 ...

  6. 技术分享 | 一文带你了解测试流程体系

    软件测试是软件质量保证的关键步骤.越早发现软件中存在的问题,修复问题的成本就越低,软件质量也就越高,软件发布后的维护费用越低. 为了能更好的保障软件质量,在软件测试的实践中,慢慢形成了一些流程用来达到 ...

  7. 个人版整理APP测试流程

    个人版整理APP测试流程 2016.1.5 我的笔记 一 .APP测试基本流程  1.1 测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版 ...

  8. 移动APP的测试流程及方法

    App的测试流程整理 1. APP测试基本流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长 ...

  9. 项目测试流程规范(不同公司流程规范不一样,仅供参考)

    前言:结合公司的项目情况制定合理的测试流程,提高测试效率和产品质量.核心还是要加强项目成员之间的沟通,在保障研发效率的前提下提高产品质量. 一.测试流程图 上述流程图为项目的测试流程图,每家公司用的项 ...

  10. app测试移动应用测试 (功能测试)适合0基础学习

    文章目录 app测试移动应用测试 (功能测试)0基础 一.背景介绍 app生命周期图 移动应用与传统PC应用的区别 二.App项目流程 市场分析 需求调研 产品制造 交互设计 产品开发 系统测试 产品 ...

最新文章

  1. Lexus Extroic OpenCart 2.X 自适应主题模板 ABC-0648-03
  2. 开源物联网通讯框架ServerSuperIO,成功移植到Windows10 IOT,在物联网和集成系统建设中降低成本。附:“物联网”交流大纲...
  3. python os模块system_Python如何使用OS模块调用cmd
  4. 进程的退出方式以及僵尸进程和孤儿进程
  5. java用selenium库控制chrome
  6. python办公自动化案例-Python智能办公自动化实战课程
  7. 不能不说的C#特性-表达式树
  8. Atitit.程序包装exe启动器 打包 发布 设计 -生成exe java
  9. 常用的特征选择算法介绍
  10. Linux下通过ODBC连接数据库
  11. N字霸气多空博弈大师能量潮拐点战法通达信 主图/副图/选股指标
  12. 黑群晖二合一安装不了套件_家庭NAS部署指南(二)——如何自己动手安装一台黑群晖主机...
  13. 关于虚拟机复制文件时:无法确定本地文件类型。您可能没有执行此操作的权限。 正在取消文件复制操作。的决解方法
  14. 好用的 Windows 软件授权管理工具 - slmgr
  15. 闲聊人工智能产品经理(AIPM)—方法论
  16. python百度地图标注自己的店名_百度地图上怎么显示店名 百度地图标注店名方法...
  17. JS-事件-写一个通用的事件监听函数
  18. setBounds()函数设置Java布局
  19. 头歌--C++之if-else基本性质
  20. 贝尔宾九种团队角色理论总结(转)

热门文章

  1. NLP-自然语言处理
  2. 把PDF/AZW/EPUB转成图片
  3. python实现 Polar码极化过程
  4. 四川华为EC6108V9C悦me和CA高安版_卡刷固件包
  5. 白话区块链 之 12 - 未花费事务输出 (UTXO) 是什么?
  6. 电池电量显示模块、美容仪、剃须刀、血氧仪、红外体温计、脱毛器、(耳)额温枪、电子秤等段码屏LCD液晶显示驱动IC-VK1024B 6*4段显示,VK1056 14*4段显示,少脚位1621,具省电模式
  7. 软件工程本科毕业设计题目推荐?软件工程毕设题目大全
  8. 酷狗音乐分类html,酷狗音乐手机版创建歌单教程 分类自己的音乐库
  9. ad15图层显示_AD15视图配置窗口太大点击不了确定怎么设置?
  10. Flutter 本地数据库sqflite实战操作