黑盒测试在App自动化测试中的应用
黑盒测试在App自动化测试中的应用
不废话,直接来。
先说说什么是黑盒测试
黑盒测试,这里就说的是app功能测试,之前看到一个介绍说,就是在测试中,把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试应用产品的功能,不需测试应用产品的框架结构等内部其他的东西。也有叫他数据驱动的,不管这样,他就是注重于测试应用的功能性需求。以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。
然后是具体流程,首先,根据产品需求的功能要求和性能指标来定义相应的测试计划,即制订黑盒测试的标准,以后所有的测试工作都将围绕着测试需求来进行,通过测试需求的app即是符合最初功能需求的;同时,根据功能需求设计适当选择测试内容,即能覆盖所有功能的测试用例再合理安排测试人员、测试时间及测试资源等。可建立的自动测试,并对所发现的缺陷进行跟踪管理。测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组。
再简单说说环境准备,用Python开发语言,测试框架使用Unittest和DDT相结合的方式。
unittest测试框架如下:
其框架包含一个test Fixture,由,setup,testcase和teardown部分组成。Setup过程,是测试用例执行前的初始化过程,teardown过程,是在测试用例执行后,对资源进行释放与回收的过程;而testcase是具体的测试用例。
接下来,引入ddt框架,安装ddt模块后,使用测试驱动框架后,需要几行代码(下图)。通过这样的测试结果会有两条测试用例被执行,而非一条测试用例。
总结
目前,黑盒测试多运用于app测试的的自动化执行中。特别是在当应用程序有新版本发布时,会对应用程序的各种功能包括新增功能进行测试,但不可能再来重新录制和编写所有的测试脚本。而使用已有的脚本,批量运行这些测试脚本测试旧的功能点是否正常工作,也就是自动化回归。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。自动化测试就大幅降低系统测试、维护升级等阶段的成本。
相对白盒测试来说,黑盒测试相对简单,他的意义也是让一般的功能测试更简单的被执行。
黑盒测试在App自动化测试中的应用的更多相关文章
- APP自动化测试中Monkey和 MonkeyRunner
在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程步步执行测试,得到实际结果与期望结果的比较.在此过程中,为了节省人力.时间或硬件资源,提高测试效率,便引入了自动化测试的概念.自动化测 ...
- app自动化测试中的相关api
这个说的api即python自动化测试中经常会使用到的一些api,具体如下: 1.find_element_by_id/find_elements_by_id 定位元素api,使用方法如下: driv ...
- 论APP测试中黑盒测试方案的重要性?
运筹帷幄之中,决胜千里之外.古人足不出户,通过正确的部署就能决定千里之外战争的胜利!而于测试人员而言,制定正确的测试方案,就是日后测试就是是否顺利的决定性因素. 在整个测试过程中,对测试人员.资源以及 ...
- Pywinauto在Windows Twain Driver自动化测试中的应用研究
摘 要: 以Python为基础,结合对Twain Driver测试工具的具体需求,将Pywinauto引入到Twain Driver的自动化测试中.介绍了Pywinauto的基本概念,通过测试用例说 ...
- Android自动化测试中Monkeyrunner详解
之前有写过monkey测试详细说明,几天就说说monkeyrunner. monkeyrunner工具提供了一个API,使用此API写出的程序可以在Android代码之外控制Android设备和模拟器 ...
- [转]移动App测试中的最佳做法
Daniel Knott 用过各种不同编程语言和软件质量保证工具.他在软件开发和测试方面干了七年,自2010年起,他一直在德国汉堡的XING AG公司就职,几个项目里,比如XING调查和XING建议, ...
- APP测试中的头疼脑热:测试人员如何驱动开发做好自测
如今,随着移动互联网的浪潮越翻越涌,移动APP测试工作的现状已经成了那本"家家难念"的经.不管公司大小,不管测试哪种类型的APP,让广泛测试者苦不堪言的就属重复性最多,测试工作量最 ...
- 篇3 安卓app自动化测试-搞定界面元素
篇3 安卓app自动化测试-搞定界面元素 --lamecho辣么丑 1.1概要 大家好! 我是lamecho(辣么丑),今天是<安卓app自动化测试>的第三 ...
- 篇4 安卓app自动化测试-Appium API进阶
篇4 安卓app自动化测试-Appium API进阶 --lamecho辣么丑 1.1概要 大家好! 我是lamecho(辣么丑),今天是<安卓app自动化测试& ...
随机推荐
- JAVA基础知识之多线程——控制线程
join线程 在某个线程中调用其他线程的join()方法,就会使当前线程进入阻塞状态,直到被join线程执行完为止.join方法类似于wait, 通常会在主线程中调用别的线程的join方法,这样可以保 ...
- uva 437,巴比伦塔
题目链接:https://uva.onlinejudge.org/external/4/437.pdf 题意:巴比伦塔: 给出n种立方体,一个立方体能放到另一个立方体上,必须满足,底面一定要小于下面的 ...
- Apache Common-pool2对象池分析和应用
Apache Common-pool2包提供了一个通用的对象池技术的实现.可以很方便的基于它来实现自己的对象池,比如DBCP和Jedis他们的内部对象池的实现就是依赖于Common-pool2. 对象 ...
- 微信网页获取openId
<%@ WebHandler Language="C#" Class="UserAuth" %> public class UserAuth : I ...
- Objective-C协议与非正式协议
http://blog.csdn.net/siemenliu/article/details/7836499
- zookeeper系列之六—zookeeper之应用
http://www.cnblogs.com/sharpxiajun/archive/2013/06/02/3113923.html Zookeeper是hadoop的一个子项目,虽然源自hadoop ...
- strtr介绍
strtr — 转换指定字符 string strtr ( string $str , string $from , string $to ) string strtr ( string $str , ...
- 在Linux命令行下令人惊叹的惊叹号(!)
'!'符号在Linux中不但可以用作否定符号,还可以用来从历史命令记录中取出命令或不加修改的执行之前运行的命令.下面的所有命令都已经在Bash Shell中经过确切地检验.尽管我没有试过,但大多都不能 ...
- Topic Model
Topic Model 标签(空格分隔): 机器学习 \(\Gamma\)函数 \(\Gamma\)函数可以看做是阶乘在实数域上的推广,即: \(\Gamma(x) = \int_{0}^{+\inf ...
- oracle, create table, insufficient privileges
SQL> exec pro_gz_day_report; ORA-01031: insufficient privileges ORA-06512: at & ...