Property-Based Testing in Python

Rain Wu

Rain Wu

目前在 Netskope 擔任 Senior Software Engineer,心血來潮時會用 Python 和 Go 為自己喜歡的開源工具貢獻微薄之力(但不一定會被接受),同時也是名桌遊愛好者。

    Abstract

    軟體系統的複雜邏輯使得開發者往往需要對大量的分支情況精準處理,以確保整體產品盡可能地如預期中運作,撰寫無處不在的測試來把關每一個環節便是一種廣為採用的實踐方式。這時如何有效率的實作合格的測試就成了大問題,尤其是設計觸發特定情況的合適資料往往勞心費神,要顧及多種 edge case 時工作量更會成倍增加,時間久了便會感到倦怠而排斥寫測試。值得慶幸的是 Property-Based Testing 概念的出現開啟了更多軟體測試上的可能性,除了藉由隨機性有效率的生成測試所需內容,並覆蓋到過往人工編寫容易忽略的 edge case 外,也能引導團隊反思產品的功能可能收到什麼樣的輸入、怎麼樣的結果該被定義為異常等等,進一步提升自動化測試在軟體產品研發過程中的影響力。 在此議程中講者會藉由介紹 Property-Based Testing 的思維模式與工具應用,同時分享在技術導入與團隊合作上的經驗,讓聽眾在未來設計測試時有更佳靈活的策略與選擇,並進一步將影響力擴展到整個團隊上。

    Description

    Location

    R0

    Date

    Day 1 • 16:00-16:30 (GMT+8)

    Language

    Chinese talk w. English slides

    Level

    Intermediate

    Category

    Testing