Các toán tử đột biến mức phương thức

Một phần của tài liệu Kỹ thuật kiểm thử đột biến và ứng dụng để kiểm thử các chương trình Java (Trang 51)

Bảng 4.1 sẽ mô tả ngắn gọn các toán tử đột biến mức phương thức (hay còn gọi là các toán tử đột biến truyền thống) thực thi trong MuJava. Các toán tử được xem xét cho MuJava bao gồm việc sửa đổi các biểu thức bằng cách thêm, thay thế hoặc xóa các toán tử nguyên thủy. MuJava chứa 6 loại toán tử nguyên thủy:

1. Toán tử số học 2. Toán tử quan hệ 3. Toán tử điều kiện 4. Toán tử chuyển dịch 5. Toán tử logic

6. Toán tử gán

MuJava sử dụng 12 toán tử đột biến mức phương thức. Trong đó, một số toán tử có các dạng short-cut. Vì vậy, nó được chia thành nhị nguyên (binary), đơn nguyên (unary) và short-cut.

Bảng 4.1- Các toán tử đột biến mức phương thức cho MuJava

a) Toán tử số học

Các toán tử số học thực hiện các phép tính số học trên tất cả các đối số op (là các nguyên và số thực có dấu phẩy động). Các toán tử số học sử dụng trong Java là:

 Các phép toán hai ngôi (nhị nguyên): op + op, op - op, op * op, op / op, op % op

 Các phép toán một ngôi (đơn nguyên): +op, -op  Short-cut: op++, ++op, op--, --op

Các toán tử số học sử dụng trong MuJava được giải thích như sau:  AORB/ AORU / AORS: Thay thế toán tử số học

Loại Toán tử Mô tả

Số học

AORB AORU AORS

Thay thế toán tử số học (nhị nguyên) Thay thế toán tử số học (đơn nguyên) Thay thế toán tử số học (short-cut) AOIU

AOIS

Thêm toán tử số học (đơn nguyên) Thêm toán tử số học (short-cut) AODU

AODS

Xóa toán tử số học (đơn nguyên) Xóa toán tử số học (short-cut) Quan hệ ROR Thay thế toán tử quan hệ

Điều kiện

COR Thay thế toán tử điều kiện COI Thêm toán tử điều kiện COD Xóa toán tử điều kiện

Chuyển dịch SOR Thay thế toán tử chuyển dịch

Logic

LOR Thay thế toán tử logic LOI Thêm toán tử logic LOD Xóa toán tử logic

Các toán tử này thay thế các toán tử số học nhị nguyên, đơn nguyên, short- cut bằng các toán tử nhị nguyên, đơn nguyên, short-cut khác tương ứng.

 AOIU/AOIS: Thêm toán tử số học

Các toán tử này thêm toán tử số học đơn nguyên và short-cut tương ứng.  AODU/AODS: Xóa toán tử số học

Các toán tử này xóa các toán tử số học đơn nguyên và short-cut tương ứng.

b) Toán tử quan hệ

Các toán tử quan hệ so sánh giá trị của hai toán hạng op. Các toán tử quan hệ sử dụng trong Java: op > op, op >= op, op < op, op <= op, op == op, op != op

Các toán tử quan hệ sử dụng trong MuJava được giải thích như sau:  ROR: Thay thế toán tử quan hệ

Toán tử này thay thế các toán tử quan hệ bằng các toán tử quan hệ khác.

c) Toán tử điều kiện

Các toán tử điều kiện hoặc các toán tử bitwise thực hiện các phép tính trên các giá trị nhị phân của các toán hạng. Các toán tử điều kiện được sử dụng trong Java là:

 Các toán tử điều kiện hai ngôi: op && op, op ||op, op & op, op | op và ^ (bitwise XOR)

 Toán tử điều kiện một ngôi: !op  COR: Thay thế toán tử điều kiện

Toán tử này thay thế các toán tử điều kiện hai ngôi bằng các toán tử điều kiện hai ngôi khác.

 COI: Thêm toán tử điều kiện

Toán tử này thêm các toán tử điều kiện một ngôi.  COD: Xóa toán tử điều kiện

Toán tử này xóa các toán tử điều kiện một ngôi.

d) Toán tử chuyển dịch

Các toán tử chuyển dịch sử dụng trong Java: op >> op, op << op, op >>> op Các toán tử chuyển dịch sử dụng trong MuJava được giải thích như sau:  SOR: Thay thế toán tử chuyển dịch

Toán tử này thay thế các toán tử chuyển dịch hai ngôi bằng toán tử chuyển dịch hai ngôi khác.

e) Toán tử logic

Các toán tử logic thực hiện các phép so sánh logic để thu được kết quả Boolean cho các câu lệnh so sánh. Các toán tử logic sử dụng trong Java là:

 Toán tử logic hai ngôi: op & op, op |op, op ^ op  Toán tử logic một ngôi: ~op

Các toán tử logic sử dụng trong MuJava được giải thích như sau:  LOR: Thay thế toán tử logic

Toán tử này thay thế các toán tử logic hai ngôi bằng các toán tử logic hai ngôi khác.

 LOI: Thêm toán tử logic

Toán tử này thêm các toán tử logic một ngôi khác.  LOD: Xóa toán tử logic

Toán tử này xóa các toán tử logic một ngôi khác.

f) Toán tử gán

Các toán tử gán sử dụng trong Java là :

 Short –cut : op += op, op -= op, op *= op, op /= op, op %= op, op &= op, op |= op, op ^= op, op <<= op, op >>= op, op >>>= op

Các toán tử gán sử dụng trong MuJava được giải thích như sau:  ASRS: Thay thế toán tử gán

Toán tử này thay thế toán tử gán short-cut bằng toán tử gán short-cut khác.

Một phần của tài liệu Kỹ thuật kiểm thử đột biến và ứng dụng để kiểm thử các chương trình Java (Trang 51)

Tải bản đầy đủ (PDF)

(76 trang)