Giới thiệu về kiểm thử trong Python

Nhập môn Kiểm thử trong Python

Alexander Levin

Data Scientist

Vì sao kiểm thử quan trọng?

Vấn đề thường gặp:

  • Lỗi và bug
  • Hỏng hóc phần cứng
  • Hành vi bất ngờ/khó lường

Các vấn đề trên có thể dẫn tới tăng chi phí để khắc phục.

Kiểm thử giúp:

  • Phát hiện lỗi và bug
  • Giảm rủi ro lỗi phần mềm
  • Nâng độ tin cậy, chức năng và hiệu năng của phần mềm
Nhập môn Kiểm thử trong Python

Kiểm thử là gì?

  • Kiểm thử - quy trình đánh giá hệ thống hoặc phần mềm
  • Cần kiểm thử để bảo đảm đáp ứng yêu cầu đã định

  • Test - thủ tục xác minh tính đúng đắn của ứng dụng/hệ thống

Nhập môn Kiểm thử trong Python

Yêu cầu tiên quyết của khóa học

  • Lập trình Python nâng cao
  • Câu lệnh assert
  • Decorator
  • OOP (lớp, phương thức, kế thừa)
Nhập môn Kiểm thử trong Python

Kiểm thử trong đời sống

Hãy nghĩ về máy bay:

  • Kiểm tra trực quan
  • Kiểm tra điện tử và cơ khí
  • Kiểm tra nhiên liệu
  • Kiểm tra hành khách
  • Kiểm tra thời tiết
  • Xin phép cất cánh từ kiểm soát không lưu

Tất cả trên đều là bài kiểm tra! Và ta cần chúng để đảm bảo an toàn.

máy bay trước khi cất cánh

Nhập môn Kiểm thử trong Python

Assert trong Python

  • assert condition - dùng để kiểm tra conditionTrue.
  • Nếu conditionFalse, Python sẽ ném AssertionError.
Nhập môn Kiểm thử trong Python

Kiểm thử với pytest - ví dụ đơn giản

pytest - framework kiểm thử phổ biến trong Python, giúp viết test đơn giản.

Ví dụ test "assert" với pytest trong Python:

import pytest

# Hàm cần kiểm thử
def squared(number):
    return number * number

# Hàm test luôn bắt đầu bằng "test"
def test_squared():
    assert squared(-2) == squared(2)
Nhập môn Kiểm thử trong Python

Ôn tập context manager

  • Context manager - đối tượng Python dùng với câu lệnh with
  • Ta dùng context manager để thiết lập và thu hồi ngữ cảnh tạm thời
# Ví dụ ghi file
with open("hello_world.txt", 'w') as hello_file:
    hello_file.write("Hello world \n")
Nhập môn Kiểm thử trong Python

Làm quen pytest: raises

pytest.raises - dùng khi kỳ vọng test sẽ ném Exception

import pytest

# Hàm cần kiểm thử
def division(a, b):
    return a / b

# Hàm test
def test_raises():
    with pytest.raises(ZeroDivisionError):
        division(a=25, b=0)
Nhập môn Kiểm thử trong Python

Tóm tắt

Kiểm thử là:

  • Quy trình đánh giá phần mềm hoạt động như mong đợi
  • Hiện diện trong đời sống hằng ngày
  • Thiết yếu để xử lý thách thức trong phát triển phần mềm
  • Giúp bảo đảm vấn đề được giải quyết đúng

Triển khai test:

  • pytest - framework Python mạnh, đơn giản hóa kiểm thử
  • assert - từ khóa Python, dùng trong pytest để tạo test cơ bản bằng cách kiểm tra điều kiện
  • pytest.raises - context manager, dùng tạo test kỳ vọng ra Exception
Nhập môn Kiểm thử trong Python

Ayo berlatih!

Nhập môn Kiểm thử trong Python

Preparing Video For Download...