Bài giảng Công cụ kiểm thử phần mềm: Bài 7 - GV. Trương Phước Lộc

27 20 0
Bài giảng Công cụ kiểm thử phần mềm: Bài 7 - GV. Trương Phước Lộc

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Công cụ kiểm thử phần mềm - Bài 7: Kiểm thử đơn vị - Unit Testing cung cấp cho người học các kiến thức: Giới thiệu, tại sao cần kiểm thử đơn vị, unit testing framework, các bước thực hiện, một số thuật ngữ, mock object,... Mời các bạn cùng tham khảo.

Kiểm thử đơn vị - Unit Testing BM Công nghệ phần mềm Khoa Công nghệ thông tin Nội dung 1.  Mở đầu 2.  Giới thiệu 3.  Tại cần kiểm thử đơn vị 4.  Unit testing framework 5.  Các bước thực 6.  Một số thuật ngữ 7.  Mock Object 8.  Demo 2/4/15 Công cụ kiểm thử phần mềm Mở đầu Hàm  %nh   khoảng  cách   Hàm  khởi   tạo   Hàm     5m  kiếm   ???   ???   Lớp  Diem   Hàm  %nh   chu  vi   Hàm  %nh   diện  %ch   2/4/15 ???   Hàm     %nh  toán   Lớp   TamGiac   Hàm  khởi   tạo   Hàm  khởi   tạo   Lớp  …   Hàm  đúng  hay  sai???   Công cụ kiểm thử phần mềm Mở đầu £  Áp dụng kỹ thuật => test case £  Thực thi test case Hàm  %nh   khoảng  cách   Hàm  khởi   tạo   Lớp  Diem   Tương  tự  cho  lớp  TamGiac,  …   Hàm  4nh  khoảng  cách   Thực  thi  test  case  1   Thực  thi  test  case  2   …   Hàm  khởi  tạo   Thực  thi  test  case  1   Thực  thi  test  case  2   …   Chương  trình  có  nhiều  lớp,  mỗi  lớp  nhiều  hàm  =>  thực  thi  bao   nhiêu  lần???   Công cụ kiểm thử phần mềm 2/4/15 Mở đầu £  Viết code ??? £  Lớp Điểm, hàm tính khoảng cách p  Hàm thực thi test case 1: ¡  Khởi tạo điểm => (0, 0) ¡  Khởi tạo điểm => (0, 2) ¡  Gọi hàm tính khoảng cách điểm điểm => kết thực tế ¡  Kết mong đợi = ¡  So sánh kết mong đợi kết thực tế ¡  Tùy vào kết so sánh, xuất pass, fail, error p  Tương tự cho test case khác … £  Tương tự cho lớp hàm khác … 2/4/15 Công cụ kiểm thử phần mềm Giới thiệu Hoàn  thành   ứng  dụng   Kiểm  tra  ứng   dụng   Chỉnh  sửa   ứng  dụng   Kiểm  thử  chấp  nhận  -­‐     Acceptance  TesQng   Kiểm  thử  hệ  thống  -­‐     System  TesQng   Kiểm  thử  4ch  hợp  -­‐     IntegraQon  TesQng   Kiểm  thử  đơn  vị  -­‐     Unit  TesQng   2/4/15 Công cụ kiểm thử phần mềm Tại cần kiểm thử đơn vị £  Đảm bảo chất lượng đơn vị mã nguồn phần mềm £  Phát lỗi sớm chỉnh sửa kịp thời £  … 2/4/15 Công cụ kiểm thử phần mềm Unit testing framework 2/4/15 Công cụ kiểm thử phần mềm Unit testing framework £  £  £  £  £  Thư viện hỗ trợ - Script Dữ liệu - Data driven Thực thi - Run Thống kê - Report Các framework hỗ trợ cho ngơn ngữ lập trình p  JUnit - java p  NUnit - NET p  CPPUnit - C++ p  PyUnit - Python p  … p  xUnit 2/4/15 Công cụ kiểm thử phần mềm Các bước thực Hàm  %nh   khoảng  cách   ???   Hàm     Kiểm  tra   …   Thực  thi  hàm   kiểm  tra   Hàm  %nh   chu  vi   Báo  cáo   ???   2/4/15 Công cụ kiểm thử phần mềm Hàm  %nh   diện  %ch   ???   Hàm     5m  kiếm   ???   10 Một số thuật ngữ £  Kết hàm kiểm thử £  So sánh: Assert £  Hàm khởi tạo hủy £  Dữ liệu – data driven 2/4/15 Công cụ kiểm thử phần mềm 13 6.1 Kết hàm kiểm thử £  Pass £  Fail £  Error 2/4/15 Công cụ kiểm thử phần mềm 14 6.2 So sánh: assert £  Điều kiện đúng/sai (boolean) isTrue(dieukien) isFalse(dieukien) £  Đối tượng tồn (NULL) isNull(doituong) isNotNull(doituong) 2/4/15 Công cụ kiểm thử phần mềm 15 6.2 So sánh: assert £  Đối tượng giống (same) AreSame(MongDoi, ThucTe) AreNotSame(MongDoi, ThucTe) Hocsinh  1  &  hoc  sinh  2   £  Đối tượng (equal) AreEqual(MongDoi, ThucTe) Nhanvien  1  &  nhan  vien  2   AreNoteEqual(MongDoi, ThucTe) £  Số thực (sai số) AreEqual(MongDoi, ThucTe, saiso) 2/4/15 Công cụ kiểm thử phần mềm 16 6.2 So sánh: assert £  Mảng p  Số phần tử p  Mỗi phần tử £  Kiểm thử ngoại lệ try { exceptionCausingMethod(); // If this point is reached, the expected // exception was not thrown fail("Exception should have occurred"); } catch ( ExceptedTypeOfException exc ) { String expected = "A suitable error message"; String actual = exc.getMessage(); Assert.assertEquals( expected, actual ); } 2/4/15 Công cụ kiểm thử phần mềm 17 6.3 Hàm khởi tạo hủy £  Chạy lần bắt đầu kết thúc hàm £  Chạy lần bắt đầu kết thúc trình kiểm thử £  Thứ tự gọi hàm p  p  p  p  p  p  p  p  Hàm khởi tạo lớp Hàm khởi tạo Hàm kiểm tra hàm tính chu vi Hàm hủy Hàm khởi tạo Hàm kiểm tra hàm tính diện tích Hàm hủy Hàm hủy lớp 2/4/15 Cơng cụ kiểm thử phần mềm 18 6.4 Data driven £  Đọc liệu trình kiểm thử £  Thực thi nhiều test case giống 2/4/15 Công cụ kiểm thử phần mềm 19 6.4 Data driven 2/4/15 Công cụ kiểm thử phần mềm 20 Mock object £  Hàm thực thi test case hàm tính khoảng cách: p  Khởi tạo điểm => (0, 0) p  Khởi tạo điểm => (0, 2) p  Gọi hàm tính khoảng cách điểm điểm => kết thực tế p  Kết mong đợi = p  So sánh kết mong đợi kết thực tế p  Tùy vào kết so sánh, xuất pass, fail, error => Khó khăn q trình khởi tạo đối tượng 2/4/15 Công cụ kiểm thử phần mềm 21 Mock object £  Mock object (MO): đối tượng ảo £  Mơ tính chất hành vi giống hết đối tượng thực p  Truyền vào lệnh vận hành nhằm kiểm tra tính đắn hoạt động bên 2/4/15 Công cụ kiểm thử phần mềm 22 7.1 Thiết kế Mock Object 1.  Đưa interface để mô tả đối tượng 2.  Viết nội dung cho đối tượng thực dựa interface 3.  Trích interface từ đối tượng thật triển khai Mock Object (MO) dựa interface 2/4/15 Cơng cụ kiểm thử phần mềm 23 7.1 Thiết kế Mock Object Interface   Real  Object   Mock  Object   Tested   FuncQon   2/4/15 Công cụ kiểm thử phần mềm 24 7.2 Cài đặt sử dụng £  Thêm tham chiếu tới thư viện chứa lớp Mock Object £  Ví dụ Nunit là: nuint.mocks 2/4/15 Công cụ kiểm thử phần mềm 25 Demo £  NUnit £  JUnit 2/4/15 Công cụ kiểm thử phần mềm 26 Thảo luận 2/4/15 Công cụ kiểm thử phần mềm 27 ... Nunit là: nuint.mocks 2/4/15 Công cụ kiểm thử phần mềm 25 Demo £  NUnit £  JUnit 2/4/15 Công cụ kiểm thử phần mềm 26 Thảo luận 2/4/15 Công cụ kiểm thử phần mềm 27 ... 2/4/15 Công cụ kiểm thử phần mềm 12 Một số thuật ngữ £  Kết hàm kiểm thử £  So sánh: Assert £  Hàm khởi tạo hủy £  Dữ liệu – data driven 2/4/15 Công cụ kiểm thử phần mềm 13 6.1 Kết hàm kiểm thử. ..   Kiểm ? ?thử  4ch  hợp ? ?-? ?‐     IntegraQon  TesQng   Kiểm ? ?thử  đơn  vị ? ?-? ?‐     Unit  TesQng   2/4/15 Công cụ kiểm thử phần mềm Tại cần kiểm thử đơn vị £  Đảm bảo chất lượng đơn vị mã nguồn phần

Ngày đăng: 03/11/2020, 01:09

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan