Kiểm thử tính năng với pytest

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

Alexander Levin

Data Scientist

Kiểm thử tính năng là gì

Tính năng

  • chức năng của hệ thống phần mềm.
  • đáp ứng một yêu cầu cụ thể của người dùng.

Tính năng

  • rộng hơn đơn vị.
  • Người dùng cuối có thể sử dụng.

Kiểm thử tính năng

  • phương pháp kiểm thử phần mềm.
  • xác minh hành vi của một tính năng cụ thể.
  • Ví dụ:
    • Kiểm tra phân phối dữ liệu
    • Chuẩn bị báo cáo
Nhập môn Kiểm thử trong Python

Đơn vị vs. tính năng: máy tính cá nhân

Đơn vị:

  • Mỗi nút bấm riêng lẻ
  • Các pixel trên màn hình
  • Đèn LED
  • Khối trên đĩa

Tính năng:

  • Bàn phím
  • Màn hình
  • Chiếu sáng
  • Hệ thống tệp
Nhập môn Kiểm thử trong Python

Vì sao dùng kiểm thử tính năng

Kiểm thử tính năng giúp:

  • Kiểm tra ở phạm vi tương tác người dùng với hệ thống.

Phạm vi rộng hơn đơn vị:

  • Một đơn vị hỏng không đồng nghĩa tính năng KHÔNG ổn.

Ngược lại:

  • Mọi đơn vị đều hoạt động đúng không đồng nghĩa tính năng ổn.
Nhập môn Kiểm thử trong Python

Ví dụ kiểm thử tính năng: thiết lập

Thiết lập và định nghĩa mã tính năng:

# Setup
import pandas as pd
import pytest

df = pd.read_csv('laptops.csv')

# Tính năng lọc
def filter_data_by_manuf(df, manufacturer_name):
    filtered_df = df\
        [df["Manufacturer"] == manufacturer_name]
    return filtered_df
Nhập môn Kiểm thử trong Python

Ví dụ kiểm thử tính năng: kiểm thử

Mã kiểm thử:

# Hàm kiểm thử tính năng
def test_unique():
    manuf_name = 'Apple'
    filtered = filter_data_by_manuf(df, manuf_name)
    assert filtered\
        ['Manufacturer'].nunique() == 1
    assert filtered\
        ['Manufacturer'].unique() == [manuf_name]
Nhập môn Kiểm thử trong Python

Tóm tắt

Kiểm thử tính năng - phương pháp kiểm thử phần mềm, dùng để xác minh hành vi của một tính năng cụ thể.

Tính năng rộng hơn đơn vị:

  • Nếu nút bấm là đơn vị, bàn phím là tính năng.

Kiểm thử tính năng giúp đảm bảo người dùng nhận đúng kỳ vọng.

Để tạo kiểm thử tính năng cần xây dựng ca kiểm thử.

Chìa khóa thiết kế kiểm thử tính năng - hiểu rõ các tính năng trong hệ thống cụ thể.

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

Vamos praticar!

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

Preparing Video For Download...