文档章节

功能测试基础知识

PereTang
 PereTang
发布于 2017/05/30 20:21
字数 849
阅读 24
收藏 1

本人博客文章网址:https://www.peretang.com/basic-knowledge-of-functional-testing/

什么是功能测试

  功能测试, 也叫行为测试, 也有一种说法叫黑盒测试, 即测试人员完全不知道程序的内部是如何运行的

  功能测试是所有测试工作中占比最大, 也是最重要的部分

  主要是需求分析师根据用户需求编写出功能的用例, 然后由测试工程师编写测试用例, 并逐项进行测试验证, 确保执行结果与预期的结果一致

  

为什么需要功能测试

  1. 站在用户的角度上, 确保系统的实现与需求一致

  2. 由于是黑盒测试, 测试人员完全不知道应用的内部实现, 可以发现开发人员没有发现的问题, 找出有遗漏的地方

  3. 可以测试一些例外的问题, 比如乱操作, 不按既定的流程进行操作, 检查出应用的漏洞所在

  从以上几点我们可以得出: 功能测试=检查需求的实现+查找出功能实现的遗漏+检查应用是否有漏洞存在

 

如何进行功能测试

  功能测试的六个步骤

  1. 需求分析师根据需求编写功能的执行预期  

  2. 测试工程师根据需求分析师给出的执行预期, 编写测试用例

  3. 测试工程师根据需求分析师给出的执行预期, 准备所需要的数据, 包括测试所需的数据, 与预期结果的数据

  4. 测试工程师根据自己的测试用例执行测试用例操作

  5. 测试工程师比较实际结果与预期结果是否相同, 并给出报告报表

  6. 需求分析师根据测试工程师给出的报告判断应用是否符合用户的需求

  

  功能测试的两个方法

  1. 手动测试: 测试工程师根据测试用例, 进行手动形式的操作, 灵活, 花费时间少, 但是如果需要多次测试同一个功能时就会导致所消耗的时间增多, 并且准确性差, 有可能多次测试的结果一致性低; 适合一些只需测试一次或两次的功能, 或一些小功能, 或简单的操作的测试用例

  2. 自动化测试: 由测试工程师编写自动化测试用例, 由计算机代替手动测试, 灵活性会有所降低, 但是针对需要多次测试的功能时, 能大大提升测试的效率, 并减少重复的操作, 并能保证多次测试的一致性; 适合一些需要重复测试多次的, 测试用例复杂的, 操作繁琐的测试用例

  

参考

  Functional testing From Wikipedia

© 著作权归作者所有

PereTang
粉丝 1
博文 25
码字总数 17854
作品 0
广州
程序员
私信 提问
开发阶段总结

开发的关键点在于学习,学习可以说是在任何行业永恒的话题,学习什么?如何去学习?就编程而言,学习最终是为了应用,首先要学习到这种应用,然后学习其如何应用,再学为何能这样应用,最后学...

franos
2016/02/17
27
1
我是如何自学软件测试的

软件测试是一个入门简单、但深入难的工作。 入门的时候只要会看懂中文、理解能力没问题就可以按照测试用例来执行用例了。 1、开始自学的时候找一本书来入门(软件测试原版第三版很不错)-差不多...

白一客
2017/05/23
105
0
如何在性能测试世界里攻城掠地

追往事,叹今吾,春风不染白髭须。一晃眼接触非功能测试与优化至今十年有余,这些年在不同公司带出了不少行业性能测试专家,也经常碰到一些朋友在问,如何学好性能测试,其实学好性能测试不难...

泊涯
2017/09/30
0
0
《Linux基础知识及命令》系列分享专栏

《Linux基础知识及命令》系列分享专栏 本专题详细为大家讲解了Linux入门基础知识,思路清晰,简单易懂。本专题非常适合刚刚学习Linux的小白来学习,通过学习该专题会让你由入门达到中级的水平...

kaixin_code
2018/12/01
0
0
初级测试工程师学会这几个,面试必定出彩

金三银四,是不是要开始找工作了?1-2年的测试基本应该都是处于基础的功能测试,如果有代码能力应该很快就可以过渡到UI自动化测试和接口自动化测试了。那么,这会儿如果要跳槽,除了基本的功...

给你一颗小瓜子
03/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

再一次生产 CPU 高负载排查实践

前言 前几日早上打开邮箱收到一封监控报警邮件:某某 ip 服务器 CPU 负载较高,请研发尽快排查解决,发送时间正好是凌晨。 其实早在去年我也处理过类似的问题,并记录下来:《一次生产 CPU ...

crossoverJie
24分钟前
1
0
Java的线程同步和并发问题示例

并发问题 多线程是一个非常强大的工具,它使我们能够更好地利用系统的资源,但我们需要在读取和写入多个线程共享的数据时特别小心。 当多个线程尝试同时读取和写入共享数据时,会出现两种类型...

hiuh
今天
4
0
Spring Boot 常用注解说明

实体类 @Entity (实体类注解) @Table(可指定表名) @Data(可缺省get/set) @Id(指定属性主键) @GeneratedValue(指定主键生成规则) @Transient(表示此数据不在数据库表里建立属性) ...

兜兜毛毛
今天
3
0
局域网能互相ping通,ubuntu虚拟机不能上外网

【问题】 桥接模式老是无法上网,查看本机IP发现被分配了一个私网地址,猜测应该是虚拟DHCP服务器没有打开,于是查看Ubuntu的网络配置: /etc/network/interfaces 发现没有dhcp配置的信息,只...

tahiti_aa
今天
2
0
以太坊助记词PHP开发包简介

以太坊助记词PHP开发包用来为PHP以太坊应用增加助记词和层级确定密钥支持能力。下载地址:以太坊助记词php开发包 。 1、开发包概述 以太坊助记词PHP开发包主要包括以下特性: 生成符合BIP39...

汇智网教程
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部