软件测试Python专家之路python数据分析人工智能机器学习程序员

python3测试工具开发快速入门教程13自动化测试简介

2019-03-05  本文已影响35人  python测试开发

软件自动化测试的内容

标识测试条件

注意标识测试条件的活动最好与开发活动并行开展。

设计测试用例

软件自动测试的内容

执行测试用例

将测试结果与期望输出比较

image.png

软件测试自动化的方法

测试件结构:

测试件是用来描述测试所需的所有“作品”的术语,包括文档、脚本、数据和期望输出,还有测试产生的所有产物,包括实际输出、差异报告和总结报告。

测试件组就是测试产物(脚本,数据文件等)的逻辑集合。

测试集是一个自包含环境,可运行所有选中的测试事例。测试集很简单,是测试件组的集合。测试集包含所需的测试件组。

测试件库是所有测试件组的原版本的仓库,长期存储了所有测试材料(测试数、脚本、文档等)必须复制这些材料来运行。

image.png

脚本技术:

线性脚本

image.png

比较技术:

测试验证是检验软件是否产生了正确输出的过程,是通过在测试的实际输出与预期输出(例如,当软件正确执行时的输出)之间完成一次或多次比较来实现的。

对于自动测试而言,这两组数据指的是测试运行中产生的输出与预期输出。这些测试数据会显示在屏幕上,或者保存在文件或数据库中,数据可以是各种各样的格式,包括标准文本。在测试执行工具中嵌入比较器功能的地方,数据很有可能是屏幕图像。

可以比较的工具取决于比较工具的性能。一些商业比较器具备比较多种不同数据格式的功能。用最简单的比较器只能比较标准文本文件,但是高级复杂的比较器可以比较更加得复杂和专用的数据格式,包括图形格式和数据库内容。比较的原则如下:

自动化测试框架与RobotFramework介绍

测试框架的职责

•定义一种统一的方式来书写和组织测试用例(测试步骤,测试数据与期待返回值);

• 集成不同的测试驱动技术;

• 控制测试用例的执行过程;

• 生成测试报告和测试日志;

RobotFramework简介

Robot Framework 的架构是一个通用的验收测试和验收测试驱动开发的自动化测试框架(ATDD)。它具有易于使用的表格来组织测试过程和测试数据。

Nokia Siemens Networks开发并提供支持,开源的框架

image.png

易于使用,采用表格式语法,统一测试用例格式;
• 重用性好,可以利用现有关键字来组合新关键字;
• 支持变量;
• 支持创建基于数据驱动的测试用例。
• 结果报告和日志采用HTML格式,易于阅读;
• 提供标签以分类和选择将被执行的测试用例;
• 平台、应用无关;
• 功能全面,支持WEB测试(Selenium)、Java GUI 测试,
启动线程、终端、SSH等;
• 易于扩展,提供了简单API,用户可以自定义的基于Python
或者Java的测试库;
• 易于集成,提供了命令行接口和基于XML的输出文件;
• 易于与版本管理集成;

RobotFramework安装
•安装Python,并确认python版本

•安装robotframwork:pip install robotframework

•安装wxpython: https://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1
下载32或64位的版本,注意位数和python的位数一致。

•安装robotframework-ride: pip install robotframework-ride

•windows命令行运行ride.py

•制作ride的快捷方式(Windows):在C:\Python27\Scripts找到发送快捷方式到桌面

安装注意: Robotframwork对python3支持不够好,尤其是robotframework-ride,不支持python3。

RobotFramework安装
•验证

打印hello world
点击File -- New Project,输入name,Type选择Directory,Format选择Robot
右击选择新建的工程,选择New suite,输入名字,其他默认
右击新创建的test suite,选择new test case
在test case中输入第一个单元格输入log, 第二个输入hello world
运行:方式1 点击Tools,点击Run Tests;方式2 点击 Run Tests图标
查看日志

image.png image.png image.png

RobotFramework的报告展示页面做得不错,让新手可以很快领略到自动化测试的乐趣。但是RobotFramework的库开发维护把很多简单的事件搞复杂了。为此RobotFramework比较适合比较简单的验收测试场景。对于比较python的人而言,RobotFramework反而是个负担。

单元与接口自动化测试

简介
单元测试基于pytest,junit等框架,本身就可以在命令行执行,生来就是自动化的。

请参考单元测试部分的讲义。

接口测试可以用单元测试框架进行封装,实现自动化。

测试自动化的原则是尽量多从单元的角度考虑,其次接口(集成),尽量少做UI层的自动化。越往上越使测试后置,越难维护。

image.png

UI自动化测试

测试框架生成用户界面的事件,如按键和鼠标点击,并观察用户界面的变化结果,以验证该观测到的行为的程序是否正确。许多测试自动化工具提供的记录和回放功能,让用户能够记录用户的交互行动和重播。这种方法的优点是它需要很少或根本没有软件开发。但是稍有改变,维护工作就比较大。

web测试是GUI的变种,它是阅读的HTML不是观察窗口事件,使用的技术有很大差异。

Windows平台有大量的UI自动化测试工具,包含Testcomplete,QTP等商业工具。免费或者开源的AutoIT、selenium、Sikuli 等。

image.png

Linux有Sikuli 、 selenium 、LDTP 等工具

Android有Appium、 Uiautomator、 espresso等工具

IOS有Appium、 Calabash、MonkeyTalk等工具

使用Python学习selenium测试工具

某公司测试平台介绍

互联网业务测试现状:

image.png image.png image.png

某公司测试平台需求

参考资料

image.png image.png image.png
上一篇 下一篇

猜你喜欢

热点阅读