giáo trình software testing

26 845 0
giáo trình  software testing

Đ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

Nguyễn Thị Thu Hiền 07/05/14 1 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 07/05/14 2 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 07/05/14 3 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 07/05/14 4 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 07/05/14 5 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 07/05/14 6 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:  Defect nhược điểm  Fault khuyết điểm  Failure sự thất bại  Anomaly sự dị thường  Variance biến dị  Incident việc rắc rối  Problem vấn đề  Error lỗi  Bug lỗi  Feature đặc trưng  Inconsistency sự mâu thuẫn 07/05/14 7 1.2. THẾ NÀO LÀ MỘT LỖI?  Một số thuật ngữ trợ giúp (supporting term):  product speci.cation  Spec  product spec  Speci.cation  Spec định nghĩa phần mềm chi tiết là gì, hành động như thế nào, sẽ làm gì, và sẽ không làm gì?  Spec là luận cứ của cả nhóm phát triển phần mềm 07/05/14 8 1.2. THẾ NÀO LÀ MỘT LỖI? Như thế nào là lỗi phần mềm? 07/05/14 9 1.2. THẾ NÀO LÀ MỘT LỖI?  Một lỗi phần mềm xuất hiện khi một trong 5 quy tắc sau xuất hiện:  Phần mềm không thực hiện một số thứ giống như mô tả trong Spec  Phần mềm thực hiện một số việc mà spec yêu cầu nó không được thực hiện  Phần mềm thực hiện một số chức năng mà spec không đề cập tới  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 07/05/14 10 [...]... 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 07/05/14 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:  Lỗi do quá trình viết code:  Code không đáp... kịp thời các bản spec, design 07/05/14 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:  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 07/05/14 16 1.4 CHI PHÍ CHO VIỆC SỬA LỖI Hình 1.2: Chi phí... loại vấn đề khác nhau trong phần mềm mà bạn đang kiểm thử 07/05/14 11 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ả 07/05/14 12 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 đủ... 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 07/05/14 20 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ồ 07/05/14 21 1.6 NHỮNG YẾU TỐT... ngoại giao, có khả năng thuyết phục người khác 07/05/14 23 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 đó 07/05/14 24 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... 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 đề 07/05/14 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  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... độ 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 . tốt 07/05/14 2 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 07/05/14 3 BÀI 1. CƠ BẢN VỀ SOFTWARE TESTING* 1. Những bug phần mềm. lỗi là speci.cation:  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. XUẤT HIỆN  Nguyên nhân chính làm xuất hiện lỗi là speci.cation:  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

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

Từ khóa liên quan

Mục lục

  • SOFTWARE TESTING

  • NỘI DUNG MÔN HỌC

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

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

  • 1.1. NHỮNG LỖI PHẦN MỀM NGHIÊM TRỌNG TRONG LỊCH SỬ

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

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

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

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

  • Slide 14

  • Slide 15

  • Slide 16

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

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

  • Slide 19

  • Slide 20

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

Tài liệu liên quan