1. Trang chủ
  2. » Công Nghệ Thông Tin

giáo trình software testing

26 846 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 811,5 KB

Nội dung

NỘI DUNG MÔN HỌC Lịch sử về lỗi phần mềm, những khái niệm cơ bản về lỗi phần mềm  Các kỹ năng nền tảng của việc kiểm thử phần mềm  Những yếu tố cơ bản cần kiểm thử trong một phần mềm

Trang 1

Nguyễn Thị Thu Hiền

Trang 2

NỘI DUNG MÔN HỌC

 Lịch sử về lỗi phần mềm, những khái niệm cơ bản về lỗi phần mềm

 Các kỹ năng nền tảng của việc kiểm thử phần mềm

 Những yếu tố cơ bản cần kiểm thử trong một phần mềm

 Các giai đoạn trong khi kiểm thử một phần mềm

 Làm việc với các tài liệu kiểm thử: lập kế hoạch, viết và

theo dõi các test case, báo cáo lỗi

 Chuẩn quốc tế của một phần mềm tốt

Trang 3

PHẦN I NỀN TẢNG CỦA SOFTWARE TESTING

Bài 1: Cơ bản về software testing

 Bài 2: Quy trình phát triển phần mềm

Trang 4

BÀI 1 CƠ BẢN VỀ SOFTWARE TESTING*

1 Những bug phần mềm nghiêm trọng trong lịch sử

2 Thế nào là một bug?

3 Tại sao bug xuất hiện?

4 Chi phí cho việc sửa bug

5 Tester làm những gì?

6 Những yếu tố nào tạo nên một tester tốt

Trang 5

1.1 NHỮNG LỖI PHẦN MỀM NGHIÊM

TRỌNG TRONG LỊCH SỬ

 Trò chơi “Vua sư tử” của Disney, 1994 – 1995

 Lỗi chia dấu phẩy động của bộ vi xử lý Intel Pentium, 1994

 Tàu vũ trụ của NASA đáp xuống địa cực của Mars, 1999

 Hệ thống phòng thủ tên lửa Patriot, 1991

 Sự cố Y2K (năm 2000), khoảng 1974

 Mối hiểm nguy của Virus, năm 2004

Trang 6

1.2 THẾ NÀO LÀ MỘT LỖI?

Lỗi phần mềm có thể dẫn đến những phiền phức, thậm chí

là gây ra những thảm họa khủng khiếp, tiêu tốn hàng triệu

dollar

Đôi khi lỗi phần mềm rất đơn giản và tinh vi, có khi quá

nhỏ đến nỗi không thể phân biệt được cái nào là lỗi và cái nào không phải là lỗi

Trang 7

1.2 THẾ NÀO LÀ MỘT LỖI?

 Mỗi công ty có sự lựa chọn 1 trong các thuật ngữ sau để ám chỉ lỗi phần mềm:

Trang 9

1.2 THẾ NÀO LÀ MỘT LỖI?

Như thế nào là lỗi phần mềm?

Trang 10

1.2 THẾ NÀO LÀ MỘT LỖI?

hiện:

thực hiện

 Phần mềm không thực hiện một số việc mà spec không đề cập tới, nhưng là những việc nên làm

 Trong con mắt của tester, phần mềm là khó hiểu, khó sử dụng, chậm đối với người sử dụng

Trang 11

1.2 THẾ NÀO LÀ MỘT LỖI?

 Quan trọng là các lỗi phần mềm bạn đưa ra phải hợp lý

 Định nghĩa trên về lỗi của một phần mềm đã bao quát những vấn đề cơ bản

 Sử dụng tất cả 5 quy tắc trên sẽ giúp bạn định nghĩa được các loại vấn đề khác nhau trong phần mềm mà bạn đang kiểm thử

Trang 12

1.3 TẠI SAO BUG XUẤT HIỆN?

Hình 1.1: Các lỗi có thể bị phát sinh do nhiều lý do, nhưng trong quá trình phân tích các dự án mẫu thì lý do chính phát sinh bug là quá trình

truy vết theo bản đặc tả

Trang 13

1.3 TẠI SAO BUG XUẤT HIỆN

Nguyên nhân chính làm xuất hiện lỗi là specification:

 Một số spec không viết cụ thể, không đủ kỹ lưỡng

 Spec liên tục thay đổi, nhưng lại không có sự phối hợp, trao đổi

thông tin kịp thời với các đội phát triển dự án

 Nếu spec được xây dựng không đúng, lỗi sẽ phát sinh

Trang 14

1.3 TẠI SAO BUG XUẤT HIỆN

Nguyên nhân chính làm xuất hiện lỗi là specification:

 Quá trình design cũng dễ phát sinh lỗi:

 Bản thiết kế (design) không chi tiết

 Khi design thay đổi, nhưng nhóm phát triển chưa kịp cập nhật

 Design không đúng dẫn đến phần mềm xây dựng sai

Trang 15

1.3 TẠI SAO BUG XUẤT HIỆN

Nguyên nhân chính làm xuất hiện lỗi là specification:

 Quá trình design cũng dễ phát sinh lỗi:

 Lỗi do quá trình viết code:

 Code không đáp ứng đúng yêu cầu của spec, design

 Code đáp ứng chưa đủ yêu cầu của spec, design

 Code không cập nhật kịp thời các bản spec, design

Trang 16

1.3 TẠI SAO BUG XUẤT HIỆN

Nguyên nhân chính làm xuất hiện lỗi là specification:

 Quá trình design cũng dễ phát sinh lỗi:

 Lỗi do quá trình viết code:

 Lỗi khác:

 Một số lỗi nhân bản, bắt nguồn từ 1 nguyên nhân

 Lỗi do quá trình kiểm thử sai

 Những bug tưởng là lỗi, nhưng lại không hẳn là lỗi

Trang 17

1.4 CHI PHÍ CHO VIỆC SỬA LỖI

Hình 1.2: Chi phí cho việc sửa lỗi có thể tăng đột ngột trên toàn bộ dự án

Ví dụ: - The Lion King animate StoryBook

Trang 18

1.5 TESTER PHẢI LÀM NHỮNG GÌ?

 Mục đích của tester là tìm ra lỗi phần mềm

 Ví dụ: ô textbox nhập ngày tháng, nhập đúng => pass => dễ bỏ quên những trường hợp nhập sai định dạng

 Đôi khi phải trả giá rất đắt bởi quá trình kiểm tra lỗi không phát

hiện ra vấn đề

Trang 19

1.5 TESTER PHẢI LÀM NHỮNG GÌ?

 Mục đích của tester là tìm ra lỗi phần mềm

 Mục đích của tester là tìm các lỗi và tìm thấy chúng một cách sớm nhất

có thể

 Mục đích của tester là tìm các lỗi, tìm thấy chúng một cách sớm nhất

có thể, và đảm bảo rằng chúng sẽ được sửa

Trang 20

1.5 TESTER PHẢI LÀM NHỮNG GÌ?

 Chú ý:

 Tester là một người đi tìm kiếm sự hoàn hảo

 Nhưng một phần mềm được sửa không có nghĩa rằng phần mềm

đã hoàn hảo

 Tester phải biết lập kế hoạch, biết dừng quá trình kiểm thử đúng lúc

Trang 21

1.6 NHỮNG YẾU TỐT NÀO TẠO NÊN

MỘT TESTER TỐT

 So sánh công việc của tester với programer

 Hai công việc đều phải sử dụng nhiều kỹ năng giống nhau

 Tester không nhất thiết phải biết lập trình, nhưng họ cũng tạo ra những khoản lợi nhuận khổng lồ

Trang 22

1.6 NHỮNG YẾU TỐT NÀO TẠO NÊN

MỘT TESTER TỐT

 So sánh công việc của tester với programer

 So sánh các công ty được khách hàng ưa chuộng (1) và các công ty bị nhiều khách hàng tẩy chay (2)

 (1): tạo ra những phần mềm tốt, tester được coi như 1 kỹ sư thực sự

 (2): khách hàng ko ưa thích nhứng phần mềm còn nhiều lỗi, họ

không đánh giá đúng vai trò của tester

Trang 23

1.6 NHỮNG YẾU TỐT NÀO TẠO NÊN

Trang 24

1.6 NHỮNG YẾU TỐT NÀO TẠO NÊN

MỘT TESTER TỐT

 Nếu tester có kiến thức về lập trình

 Kiểm thử mã nguồn

 Kiểm thử tự động

 Nếu tester là một chuyên gia trong lĩnh vực khác

 Nó trợ giúp đắc lực cho quá trình phát hiện lỗi của phần mềm ở

lĩnh vực đó

Trang 25

BÀI 1 TỔNG KẾT

 Kiểm thử phần mềm là một công việc có tính chất phê bình

 Với tầm cỡ và độ phức tạp của các phần mềm ngày nay, thì yêu cầu cấp bách là kiểm thử phần mềm cần được thực thi một cách chuyên nghiệp

và hiệu quả

 Trong các chương tiếp sau của phần I, bạn sẽ được tìm hiểu về quy trình phát triển phần mềm và cách mà tester làm các vấn đề ăn khớp lại với nhau

 Những hiểu biết của bạn sẽ giúp bạn đánh giá và áp dụng những kỹ thuật kiểm thử đặc biệt trong toàn bộ nội dung còn lại môn học này

Trang 26

BÀI 1 CÂU HỎI

bảo phần mềm hoạt động một cách hoàn hảo Đúng hay sai?

trường, và việc phát hiện lỗi đó ngay khi bắt đầu dự án, khác nhau ntn?

phạm vi rộng lớn của các lỗi trong sản phẩm phần mềm

Ngày đăng: 05/07/2014, 11:56

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Các lỗi có thể bị phát sinh do nhiều lý do, nhưng trong quá  trình phân tích các dự án mẫu thì lý do chính phát sinh bug là quá trình - giáo trình  software testing
Hình 1.1 Các lỗi có thể bị phát sinh do nhiều lý do, nhưng trong quá trình phân tích các dự án mẫu thì lý do chính phát sinh bug là quá trình (Trang 12)
Hình 1.2: Chi phí cho việc sửa lỗi có thể tăng đột ngột trên toàn bộ dự án - giáo trình  software testing
Hình 1.2 Chi phí cho việc sửa lỗi có thể tăng đột ngột trên toàn bộ dự án (Trang 17)

TỪ KHÓA LIÊN QUAN

w