黑盒测试在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自动化测试& ...
随机推荐
- CentOS 5/6.X 使用 EPEL YUM源
参考:http://www.linuxidc.com/Linux/2013-08/88523.htm 大纲 一.什么是EPEL? 二.与163 YUM源比较 三.CentOS 5.X 安装使用EPEL ...
- Entity Framework 第二篇 事务
Entity Framework 事务 结合第一篇的代码 public class BaseRepository : ITransaction, IDisposable { private XFDb ...
- NSIS学习记录の----NSIS插件调用
我们都知道NSIS可以和C或者C++混合编程,方法是NSIS调用C或C++的动态库,那么如何调用呢? 首先我们来创建动态库: // add.cpp : 定义 DLL 应用程序的导出函数. #inclu ...
- SqlSever基础 dateadd year,增加五年
镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...
- JAVA语言基础——类型转换
1.自动类型转换 自动类型转换又称作隐式转换,可以将一个int变量转换为float类型. public class Conver { public static void main(String[] ...
- LuaTinker的bug和缺陷
LuaTinker的bug和缺陷 LuaTinker是一套还不错的C++代码和Lua代码的绑定库,作者是韩国人Kwon-il Lee,作者应该是参考了LuaBind后,为了简化和避免过重而实现的.其官 ...
- Populating Tabular Data Block Manually Using Cursor in Oracle Forms
Suppose you want to populate a non-database data block with records manually in Oracle forms. This t ...
- celery入门
认识 这里有几个概念,task.worker.broker.顾名思义,task 就是老板交给你的各种任务,worker 就是你手下干活的人员. 那什么是 Broker 呢? 老板给你下发任务时,你需要 ...
- SAP、BW 权限控制设置
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- HTTP协议(转自:小坦克博客)
原文地址:http://www.cnblogs.com/TankXiao/archive/2012/02/13/2342672.html HTTP协议详解 当今web程序的开发技术真是百家争鸣,ASP ...