測開面試 | 自動化測試之框架篇


一、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/關鍵字驅動測試)

  • 關鍵字驅動測試(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"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM