测开面试 | 自动化测试之框架篇

一、unittest 原理(https://docs.python.org/3/library/unittest.html
1、unittest 框架包含哪些内容?
TestFixture:

  • SetUp
  • TestCase
  • TearDown

TestCase
TestSuite
TestRunner

import unittest

class WidgetTestCase(unittest.TestCase):
    def setUp(self):
        self.widget = Widget('The widget')

    def test_default_widget_size(self):
      self.assertEqual(self.widget.size(), (50,50),
                       'incorrect default size')

    def test_widget_resize(self):
        self.widget.resize(100,150)
        self.assertEqual(self.widget.size(), (100,150),
                         'wrong size after resize')    

    def tearDown(self):
        self.widget.dispose()

def suite():
    suite = unittest.TestSuite()
    suite.addTest(WidgetTestCase('test_default_widget_size'))
    suite.addTest(WidgetTestCase('test_widget_resize'))
    return su

if __name__ == '__main__':
    runner = unittest.TextTestRunner()
    runner.run(suite())

二、DDT-数据驱动(https://ddt.readthedocs.io/en/latest/example.html
1、什么是数据驱动?

  • 数据驱动测试,即黑盒测试,又称为功能测试
  • 数据驱动单元测试,为数据源中的每行,重复进行一种单元测试
  • 数据驱动单元测试,常用情况是使用多个输入值测试 API
  • “测试数据”与“执行代码”分离

2、DDT 的原理?

  • Python 下的数据驱动框架名称也叫 DDT(Data-Driven Tests)
  • 效果:使用多个数据运行一条用例,使其表现为多条用例
  • 原理:通过 Python 的装饰器,装饰每条用例

3、数据驱动测试的意义?

  • 1.代码复用率高,一次编写多条数据复用逻辑
  • 2.异常排查效率高,测试执行隔离,数据间无影响
  • 3.代码可维护性高,提高代码的易读性

三、Lettuce-行为驱动
1、什么是行为驱动?

  • 行为驱动开发,Behavior-Driven Development,简写 BDD
  • 在软件工程中,BDD 是一种敏捷软件开发的技术
  • 用自然语言书写非程序员可读的测试用例

2、Lettuce 的原理?

  • Lettuce 是基于 Python 语言的行为驱动测试框架
  • Lettuce 将测试用例和自动化测试代码分离
  • Lettuce 写测试用例就像写文本一样清晰

四、KDT-关键字驱动
1、什么是关键字驱动?(https://zh.wikipedia.org/wiki/%E9%97%9C%E9%8D%B5%E5%AD%97%E9%A9%85%E5%8B%95%E6%B8%AC%E8%A9%A6

  • 关键字驱动测试(keyword-driven testing)也称为表格驱动测试或行动字驱动测试
  • 它将创建测试程序的步骤分为规划和实现两个阶段
  • 关键字驱动使不懂代码的人可以完成自动化过程

2、Robot Framework 的原理?

  • 基于 RIDE 可视化工具,导入类库(例如:AppiumLibrary)
  • 使用 AppiumLibrary 中提供的关键字,实现用例过程
  • 使用 RIDE 完成用例的执行和结果的管理

五、生成测试报告
1、如何收集测试结果?(http://tungwaiyip.info/software/HTMLTestRunner.html

  • 使用 HTMLTestRunner.py 生成 HTML 测试报告

2、如何管理测试报告?

  • 以时间戳作为报告的名称

六、测试邮件通知
1、如何定义自己的邮件服务?

  • 邮箱设置(SMTP)

2、如何自动发送测试报告?

  • 使用 SendReport.py 发送测试报告

欢迎关注微信公众号"测试开发Stack"

转载于:https://www.cnblogs.com/liushengchieh/p/10939118.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值