อยากจะทำ Automate Testing ให้ถึงพริกถึงขิง ไม่รู้จัก Automate Testing Framework ไม่ได้เน้ววว 🔥
.
และวันนี้แอดจะพาเพื่อน ๆ มารู้จักกับ Framework ที่เขาใช้ทำ Automate Testing ซึ่งจะมีรายละเอียดยังไง ไปติดตามกันได้ในโพสต์นี้เลย !! ~
.
✏️ ก่อนอื่นเรามาทำรู้จักกับ Automate Testing Framework กันก่อน
.
Automate Testing Framework เป็นแนวทางสำหรับการออกแบบการทดสอบ ซึ่งจะช่วยให้เราสามารถใช้ทรัพยากรในการทดสอบซอฟต์แวรได้อย่างมีประสิทธิภาพมากขึ้นนั่นเอง
.
🔹 ทำไมถึงต้องใช้ Automate Testing Framework ?
.
เจ้า Automate Testing Framework จะมาช่วยเพิ่มประสิทธิภาพและความเร็วในการทดสอบซอฟต์แวร์ของเราได้มากขึ้น อีกทั้งยังช่วยปรับปรุงความแม่นยำในการทดสอบให้เพิ่มมากขึ้นอีกด้วย
.
Linear Scripting Framework
.
เป็นวิธีทดสอบที่ง่ายที่สุด ใช้แนวคิด “record and playback” โดยจะรัน Test Script เพื่อทำการทดสอบตามขั้นตอนที่วางแผนไว้ตามลำดับ และจะบันทึกผลลัพธ์ของแต่ละขั้นตอนไปพร้อมกัน เหมาะกับการทดสอบซอฟต์แวร์ขนาดเล็ก เช่น User Interface บนหน้าเว็บแอปพลิเคชัน
.
👍 ข้อดี
🔹 สร้าง Test Script ได้รวดเร็ว ไม่ต้องใช้เวลานานในการวางแผน
🔹 ผู้ทดสอบไม่จำเป็นต้องมีความรู้ด้าน Coding
🔹 ทดสอบได้รวดเร็ว
.
⚠️ ข้อพิจารณา
🔸 หากโปรแกรมมีการอัปเดตจะต้องเปลี่ยนแปลง Test Script
🔸 บำรุงรักษาได้ยาก หากโปรแกรมมีการขยายจะไม่สามารถเพิ่มขอบเขตในการทดสอบได้
.
Modular Testing Framework
.
เป็นการทดสอบแบบแยกส่วน ซึ่งจะต้องแบ่งการทดสอบออกเป็นหน่วย ฟังก์ชัน หรือโมดูลเล็ก ๆ โดยแต่ละส่วนจะทดสอบแยกกัน และสามารถรวมกันเพื่อสร้าง Test Script ที่ใหญ่ขึ้นได้ในภายหลัง เช่น การทดสอบแบบ End-to-End
.
👍 ข้อดี
🔹 ยืดหยุ่นและสามารถบำรุงรักษาได้ง่าย เนื่องจากแบ่งการทดสอบออกเป็นหน่วยเล็ก ๆ
🔹 สามารถเขียน Test Script ได้อย่างอิสระ
🔹 การเปลี่ยนแปลงของฟังก์ชันหนึ่งจะไม่กระทบกับการทดสอบอื่น ๆ
.
⚠️ ข้อพิจารณา
🔸 ใช้เวลามากในการวางแผนและสร้าง Test Case
🔸 ต้องใช้ทักษะในการ Coding
.
Library Architecture Testing Framework
.
เป็นการทดสอบแบบแยกส่วน โดยจะแบ่งกลุ่มฟังก์ชันต่าง ๆ ของแอปพลิเคชันที่จะทำการทดสอบและเก็บไว้ภายใน Library ฟังก์ชันที่คล้าย ๆ กันจะถูกจัดอยู่ในกลุ่มเดียวกัน ซึ่งจะสามารถใช้ Test Script เดียวกันได้นั่นเอง
.
👍 ข้อดี
🔹 ใช้ Test Script ซ้ำกันได้
🔹 ปรับขนาดได้อย่างยืดหยุ่น
.
⚠️ ข้อพิจารณา
🔸 ใช้เวลานานในการเตรียม Test Script
🔸 ผู้ทดสอบจำเป็นต้องมีทักษะ Coding
.
Data Driven Testing Framework
.
เป็นการทดสอบโดยจะแยก Logic Script และข้อมูลการทดสอบออกจากกัน โดยชุดข้อมูลจะถูกเก็บไว้ในไฟล์ต่าง ๆ เช่น MS Excel Sheets, MS Access Tables, SQL Database, XML File เป็นต้น โดย Test Script จะดึงข้อมูลจากไฟล์เหล่านั้นออกมาทดสอบนั่นเอง จะใช้กับการทดสอบในฟังก์ชันหรือฟีเจอร์เดียวกันในแอปพลิเคชันหลาย ๆ ครั้ง ด้วยชุดข้อมูลที่แตกต่างกัน
.
👍 ข้อดี
🔹 มีข้อมูลหลายชุดในการทดสอบ
🔹 สามารถทดสอบในสถานการณ์ต่าง ๆ ได้อย่างรวดเร็ว
🔹 ประหยัดเวลาในการทดสอบ
.
⚠️ ข้อพิจารณา
🔸 ผู้ทดสอบจะต้องมีประสบการณ์ และเชี่ยวชาญการเขียนโปรแกรม
🔸 ใช้เวลานานในการวางแผน และตั้งค่า Framework
.
Keyword Driven Testing Framework
.
การทดสอบโดยใช้ Keyword จะใช้ตารางเพื่อกำหนด Keyword หรือชุดคำสั่ง แต่ละฟังก์ชันที่จะใช้ทดสอบถูกจัดเรียงอยู่บนตารางตามลำดับของชุดคำสั่ง มีความคล้ายกับ Data Driven Testing ตรงที่ Logic Script และข้อมูลการทดสอบจะแยกจากกัน แต่การทดสอบจะละเอียดและทำได้ง่ายมากกว่า
.
👍 ข้อดี
🔹 แม้แอปพลิเคชันมีการเปลี่ยนแปลง สามารถใช้ Test Script ซ้ำได้
🔹 ใช้ Keyword กับ Test Script หลาย ๆ ชุดได้
.
⚠️ข้อพิจารณา
🔸 ใช้เวลานานในการวางแผน และตั้งค่า Framework
🔸 ยุ่งยากในการบำรุงรักษา เมื่อมีการขยายวิธีการทดสอบจะต้องสร้าง Keyword เพิ่ม
.
Hybrid Testing Framework
.
เป็นการผสมผสานระหว่าง Modular, Data Driven, และ Keyword Driven Testing Framework ซึ่งจะใช้ข้อดีและจุดแข็งของแต่ละ Framework มารวมกันนั่นเอง
.
👍 ข้อดี
🔹 เป็นการนำข้อดีของทั้ง 3 Framework มารวมกัน
.
⚠️ข้อพิจารณา
🔸 ต้องใช้เวลานานในการวางแผน
🔸 จำเป็นต้องมีทักษะการเขียนโปรแกรม
.
📑 และสำหรับใครที่อยากอ่านเพิ่มเติม กดลิงค์ด้านล่างเลย 👇👇 https://www.softwaretestingmaterial.com/types-test-automation-frameworks/#Linear-Scripting-Framework , https://smartbear.com/learn/automated-testing/test-automation-frameworks/ , https://www.testingxperts.com/blog/test-automation-frameworks
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
test automation framework 在 91 敏捷開發之路 Facebook 的精選貼文
Web Testing + Page Object 暖身中。
其實這邊我覺得搭配 cucumber 並沒比較好,如果沒有需要跟 PO/需求單位確認,而且測試重構完的意圖呈現可以很清楚的話,目前我還是會傾向直接寫 test case + testing code。
specification by example 還是要做,但是不是非得用 cucumber/BDD style/Robot Framework 來實現,我還是會建議 by case,你得看用這些東西可以滿足你什麼需求、解決什麼問題,再決定要不要用它。
※ 可以捨棄年久失修的 fluent automation 了。
補上 living documentation 的產生:https://www.youtube.com/watch?v=a3gu4UT91FY&feature=youtu.be
test automation framework 在 軟體開發學習資訊分享 Facebook 的精選貼文
iOS UI 要如何做到測試自動化?可以參考這份簡報,裡面有介紹使用哪些 framework ,操作細節。
http://www.slideshare.net/…/ios-ui-automation-test-framework