การทดสอบ

กรณีศึกษา: การสร้างซอฟต์แวร์ด้วย Python

Mark Pedigo

Principal Data Scientist

แผนที่เส้นทาง

แผนที่แสดงส่วนที่ดำเนินการเสร็จแล้วและส่วนที่กำลังจะเริ่มต้น

กรณีศึกษา: การสร้างซอฟต์แวร์ด้วย Python

ทำไมต้องใช้การทดสอบอัตโนมัติ?

  • การทดสอบแบบอัตโนมัติโดยซอฟต์แวร์
  • ไม่ต้องมีการแทรกแซงจากมนุษย์
  • ครอบคลุมตั้งแต่การตรวจสอบเบื้องต้นจนถึงการประเมินเชิงลึก

หุ่นยนต์กำลังทดสอบโค้ด

กรณีศึกษา: การสร้างซอฟต์แวร์ด้วย Python

ประโยชน์ของการทดสอบอัตโนมัติ

  • คุณภาพของโค้ดดีขึ้น
  • ลดความเสี่ยง
  • ประสบการณ์ผู้ใช้ที่ดีขึ้น
กรณีศึกษา: การสร้างซอฟต์แวร์ด้วย Python

Unit Test ทำอะไรได้บ้าง?

  • ทดสอบส่วนประกอบหรือฟังก์ชันแต่ละชิ้นแยกกัน
  • มุ่งเน้นที่หน่วยย่อยที่สุดของแอปพลิเคชัน
  • ตรวจสอบว่าผลลัพธ์ที่ได้ตรงกับที่คาดไว้

แว่นขยายกำลังตรวจสอบบล็อก

กรณีศึกษา: การสร้างซอฟต์แวร์ด้วย Python

ไลบรารี pytest คืออะไร?

  • เฟรมเวิร์กทดสอบยอดนิยมสำหรับ Python
  • รองรับ unit testing
  • โดดเด่นด้านความเรียบง่าย ยืดหยุ่น และคุณสมบัติหลากหลาย
กรณีศึกษา: การสร้างซอฟต์แวร์ด้วย Python

ข้อดีของ pytest

  • เรียบง่ายและอ่านง่าย
  • Fixture ที่ทรงพลัง
  • ผสานกับเครื่องมืออื่นได้
กรณีศึกษา: การสร้างซอฟต์แวร์ด้วย Python

Unit Test - ตัวอย่าง

# math.py
def add(a, b):
  return a + b
# test_math.py
import pytest
def test_add():
    assert add(2, 3) == 5
    assert add(-1, 1) == 0
    assert add(0, 0) == 0
    assert add(-5, -7) == -12

รันในคอนโซล:

pytest test_math.py

===== test session starts ===== collected 1 item test_math_functions.py . [100%] ====== 1 passed in 0.03s ======
กรณีศึกษา: การสร้างซอฟต์แวร์ด้วย Python

มาฝึกกันเถอะ!

กรณีศึกษา: การสร้างซอฟต์แวร์ด้วย Python

Preparing Video For Download...