BTL môn kiểm thử phần mềm. case tool cho sự phát triển và bảo đảm chất lượng phần mềm BTL môn kiểm thử phần mềm. case tool cho sự phát triển và bảo đảm chất lượng phần mềmBTL môn kiểm thử phần mềm. case tool cho sự phát triển và bảo đảm chất lượng phần mềm BTL môn kiểm thử phần mềm. case tool cho sự phát triển và bảo đảm chất lượng phần mềmBTL môn kiểm thử phần mềm. case tool cho sự phát triển và bảo đảm chất lượng phần mềmBTL môn kiểm thử phần mềm. case tool cho sự phát triển và bảo đảm chất lượng phần mềm
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỢI KHOA CƠNG NGHỆ THƠNG TIN Mơn:Kiểm Thử Phần Mềm ĐỀ TÀI: CASE tools for deverlopment and Software Quality Assurance NHĨM 11 GV hướng dẫn: Nhóm thực gồm thành viên: Nguyễn Phương Nam Nguyễn Hữu Thông Trần Văn Vinh Hà Nội, Ngày 14 Tháng Năm 2016 Mở Đầu Hàng loạt cơng cụ chun dụng máy vi tính ngày tăng (trên thực tế phần mềm gói) cung cấp để phận kỹ thuật phần mềm kể từ thập niên 1990 Mục đích cơng cụ để thực công việc phát triển trì đội hiệu hiệu Đặt tên cơng cụ CASE (máy tính hỗ trợ kỹ thuật phần mềm), họ cung cấp: ■ Tiết kiệm đáng kể nguồn tài nguyên cần thiết cho phát triển phần mềm ■ Ngắn thời gian để thị trường ■ Tiết kiệm đáng kể nguồn tài nguyên cần thiết để bảo trì ■ Tái sử dụng nhiều tăng tiêu chuẩn hệ thống phần mềm ■ Giảm hệ khiếm khuyết với gia tăng xác định "tương tác" khiếm khuyết trình phát triển Rõ ràng đặc điểm cuối phần lớn thu hút quan tâm nhà phân tích chất lượng phần mềm cho trường hợp công cụ Trong ánh sáng đặc điểm họ, công cụ CASE phục vụ nguồn cho giảm bớt số lượng nỗ lực chi tiêu phát triển ngày phức tạp hệ thống phần mềm lớn phần sau đối phó với đối tượng: ■ Một cơng cụ CASE gì? ■ Làm cơng cụ CASE góp phần vào việc cải thiện chất lượng sản phẩm phần mềm? ■ Làm cơng cụ CASE góp phần vào việc cải thiện chất lượng phần mềm Bảo trì? ■ Làm đến mức độ cơng cụ CASE góp phần trì q trình phát triển lịch trình phù hợp với ngân sách? Mục Lục I Khái niệm CASE tool Định nghĩa: CASE tool : cơng cụ phần mềm máy tính để phát triển phần mềm mà chúng hỗ trợ người phát triển thực nhiều pha vòng đời phần mềm và/hoặc hỗ trợ việc bảo trì phần mềm Tổng quát định nghĩa cho phép trình biên dịch, gỡ lỗi hệ thống tương tác, hệ thống quản lý cấu hình hệ thống kiểm tra tự động coi cơng cụ CASE CASE có loại ICASE, Upper CASE Lower CASE ICASE nghĩa "Intergrated" CASE CASE tích hợp, "Upper" cơng cụ ý tưởng thiết kế logic, "Lower" cơng cụ hỗ trợ lập trình Trong công cụ trên, tập trung vào công cụ CASE hỗ trợ tối thiểu giai đoạn phân tích hỗ trợ giai đoạn khác; chúng gọi chung "CASE" Chúng ta xác định giai đoạn hỗ trợ (dĩ nhiên giai đoạn thay đổi phát hành) Môi trường CASE chuẩn bao gồm kho chứa, công cụ đồ hoạ, phần mềm soạn thảo văn bản, phần mềm giao diện kho chứa, phần mềm đánh giá, giao diện người sử dụng Một kho chứa từ điển liệu hỗ trợ định nghĩa kiểu đối tượng khác quan hệ đối tượng Các công cụ đồ hoạ hỗ trợ cho việc phát triển dạng sơ đồ đánh giá hoàn chỉnh sơ đồ dựa vào luật xác định trước Phần mềm văn cho phép định dạng tên, nội dung, chi tiết phần tử kho chứa Phần mềm giao diện biên dịch xác định dạng liệu dùng (đồ hoạ văn bản) Phần mềm đánh giá trí tuệ CASE Phần mềm phân tích đầu vào sơ đồ kho chứa xác định xem chúng có cú pháp hồn chỉnh hay khơng (ví dụ có thoả mãn định nghĩa kiểu liệu thành phần khơng), chúng có tương thích với đối tượng tồn khác ứng dụng hay không Giao diện người dùng cung cấp hình báo cáo để xử lý tương tác gián tiếp Sự hỗ trợ công cụ CASE cho người phát triển hệ thống thể bảng sau: Kiểu công cụ CASE Hỗ trợ Sửa đổi biểu đồ Truy vấn kho chứa Viết tài liệu tự động Hỗ trợ thiết kế Sửa đổi mã Sinh mã Quản lý cấu hình Kiểm thử phần mềm Kỹ nghệ ngược Quản lý dự án số phần mềm II Sửa đổi văn biểu đồ, tạo biểu đồ thiết kế dựa ghi kho chứa Hiển thị phần văn thiết kế, biểu đồ… theo dõi yêu cầu Tự động sinh tài liệu yêu cầu theo ghi cập nhật kho chứa Việc sửa đổi thiết kế ghi lại người phân tích hệ thống quản lý từ điển liệu Biên dịch, thông dịch gỡ lỗi tương tác mã cho ngôn ngữ lập trình cụ thể cơng cụ phát triển Chuyển từ ghi thiết kế sang mẫu ứng dụng phần mềm thích hợp với ngơn ngữ lập trình (hoặc công cụ phát triển) Quản lý phiên tài liệu thiết kế mã phần mềm, kiểm soát thay đổi thiết kế mã phần mềm Kiểm thử tự động, kiểm thử tải quản lý kiểm thử sửa ghi Xây dựng kho chứa phần mềm tài liệu thiết kế, dựa mã hệ thống phần mềm thừa kế Khi kho chứa phần mềm có, cập nhật sử dụng để tự động tạo phiên hệ thống Hỗ trợ việc quản lý dự án cách theo dõi lịch tính tốn suất, số lỗi Đóng góp cơng cụ CASE tới việc cải thiện chất lượng phần mềm: Đóng góp CASE tool cho chất lượng sản phẩm phần mềm Lợi ích cơng cụ CASE chất lượng sản phẩm phần mềm làm giảm số lượng lớn lỗi pha phát triển phần mềm Để đánh giá lợi ích này, xem xét việc cải tiến chất lượng mà công cụ CASE thực nguyên nhân gây lỗi (được liệt kê phần 2.3) Đánh giá bao gồm công cụ CASE cổ điển thực Nguyên nhân gây lỗi Lỗi xác định yêu cầu Việc thất bại giao tiếp khách hàng người phát triển Sự chênh lệch có chủ ý yêu cầu phần mềm Những lỗi thiết kế theo logic Công cụ CASE cổ điển Công cụ CASE thực u cầu Hầu khơng đóng góp Việc kiểm tra tính cố định yêu cầu hay xác máy tính gần xảy Hầu khơng đóng góp Trong hầu hết trường hợp, việc xác định thất bại giao tiếp máy tính khơng thể Những thất bại xác định ngăn chặn có thay đổi thơng tin khác tìm thấy trở nên mâu thuẫn với thơng tin có Đóng góp lớn Dựa thơng tin có, chênh lệch từ yêu cầu xác định mâu thuẩn liệt vào lỗi Những chênh lệch xác định cơng cụ theo dõi u cầu có cơng cụ truy vấn (cross- referenced query tools) Đóng góp lớn • Việc thiết kế lại (reengineering) cho phép sản sinh tự động thiết kế Lỗi coding Không làm với dẫn code viết tài liệu Những thiếu xót xảy trình test cho hệ thống kế thừa ghi chúng • Việc sử dụng nơi lưu trữ nhằm xác định thiếu xót thiết kế, thay đổi mâu thuẫn có với ghi có (bản ghi lưu trữ từ trước) Đóng góp lớn Áp dụng Đóng góp lớn Áp dụng trình biên dịch cơng cụ CASE bên (compiler, interpreters) vào nhằm tạo trình gỡ lỗi tương cách tự động đoạn tác (debugger) vào code tương thích hồn tồn với thiết kế có sẵn Thêm vào đó, code tự động nên khơng có lỗi xảy Đóng góp có giới hạn Sử Đóng góp lớn dụng trình biên tập Áp dụng công cụ văn kiểm định CASE bên vào nhằm code để hỗ trợ chuẩn hóa tạo đoạn code cấu trúc, phong cách đảm bảo làm với văn bản, code làm việc dẫn code xác định sai lệch viết tài liệu không dễ dàng Đóng góp lớn Những Đóng góp lớn Áp dụng công cụ kiểm tra tự động công cụ CASE bên thực hồi quy kiểm dưới, đặc biệt tra việc nạp cách tự công cụ CASE tích động Việc quản lý test hợp vào để ngăn chặn lỗi sửa lỗi máy tính làm coding giảm lỗi giảm lỗi thiết kế Ứng dụng công cụ lưu trữ tới việc sửa lỗi thay đổi suốt trình phát triển nhằm ngăn ngữa hầu hết lỗi phần mềm Lỗi thủ tục Đóng góp lớn Việc điều khiển phiên bản, xem xét lại cài đặt phần mềm công cụ quản lý quản lý cấu hìn Lỗi tài liệu Đóng góp có giới hạn Áp dụng trình biên tập văn vào III Đóng góp có giới hạn Sử dụng tài liệu đầy đủ cập nhật làm việc ngăn ngừa lỗi bảo trì gây tài liệu khơng đầy đủ thiếu xác, đặc biệt thiết kế sửa lại nhiều lần Đóng góp lớn Sử dụng nơi lưu trữ cách tự động nhằm sinh tài liệu đầy đủ cập nhật trước lần sửa lỗi thay đổi Đóng góp CASE tool cho chất lượng bảo trì phần mềm Các cơng cụ CASE có mặt nhiều loại chất lượng bảo trì phần mềm theo nhiều cách khác Bảo trì sửa chữa (Corrective maintenance): Tài liệu phần mềm được cập nhật CASE đưa đầy đủ giúp tìm nguyên nhân gây lỗi (failure) phần mềm cách dễ dàng xác Các câu truy vấn cross-referenced cho phép xác định trước kết kế hoạch sửa chữa đề cách tốt Sửa chữa cơng cụ CASE tích hợp hay bên hỗ trợ coding tự động mà khơng có lỗi (error) lập trình tài liệu tự động việc sửa chữa Bảo trì thích nghi (Adaptive maintenance): PTIT Tài liệu phần mềm đầy đủ cập nhật công cụ CASE cho phép xem xét kĩ lưỡng khả thích nghi gói phần mềm ứng dụng mới, người dùng Bảo trì cải thiện chức (Functional improvement maintenance): Việc sử dụng kho chưá cho phép người thiết kế đảm bảo tính qn ứng dụng mới, cải tiến với hệ thống phần mềm vốn có Các câu truy vấn kho chứa cross-referenced cho phép lên kế hoạch cho việc thay đổi, thêm chức cách dễ dàng IV Các thay đổi việc thêm chức thực cơng cụ CASE tích hợp hay bên cho phép coding tự động mà khơng có lỗi (error) coding tài liệu tự động thay đổi sửa chữa Đóng góp CASE tool cho quản lý dự án Phương pháp sử dụng CASE nâng cao mang lại tính kinh tế cao phương pháp thông thường Chất lượng việc quản lý hai dự án giống với việc ước lượng lịch biểu tài nguyên mức yêu cầu Thông thường, việc áp dụng công cụ CASE mong đợi làm giảm giá thành thời gian phát triển dự án (“shorter time to market”) Tuy nhiên, vai trị cơng cụ CASE khía cạnh chất lượng quản lý dự án (gồm: điều khiển chi phí thời gian) trọng điểm quan tâm Hiện nay, có trường hợp sử dụng công cụ CASE đại làm giảm độ lệch kinh phí thực thi lịch biểu theo kế hoạch, đặc biệt chúng ngăn ngừa lượng lỗi (error) cho phép sửa lỗi nhanh, dễ dàng có yêu cầu Để việc quản lý dự án cải thiện tốt hơn, công cụ điều khiển dự án (ở xem loại công cụ CASE cổ điển) phương pháp luận ước lượng thời gian, kinh phí cải thiện phải phát triển Demo case tool Giới thiệu selenium • Sử dụng selenium để viết test case Selenium công cụ mã nguồn mở Các thử nghiệm sau chạy trình duyệt đại Selenium triển khai tảng Window , Linux, Mac Nó cho phép recording, editing, debugging tests Kiểm thủ exported hầu hết ngơn ngữ HTML, JAVA, NET,PERL, RUBY, … Selenium có hỗ trợ nhà cung cấp trình duyệt lớn hỗ trợ test case đoạn code, liệu test giá trị nhập vào Test1, Test2, Test3 Đăng ký thành công Như vậy, để tận dụng tối đa lợi test tự động, viết vòng lặp for() đọc kết test từ danh sách - excel truyền vào vị trí Sau la code test case sử dụng selenium đăng kí tài khoản Gmail package com.example.tests; import com.thoughtworks.selenium.*; import org.junit.After; import org.junit.Before; import org.junit.Test; import java.util.regex.Pattern; public class test case selenium extends SeleneseTestCase { @Before public void setUp() throws Exception { selenium = new DefaultSelenium("localhost", 4444, "*chrome", "http://mail.google.com/"); selenium.start(); } @Test public void testTest case selenium() throws Exception { selenium.open("/"); selenium.click("id=link-signup"); selenium.waitForPageToLoad("10000"); selenium.click("id=submitbutton"); selenium.click("id=TermsOfService"); selenium.click("id=Personalization"); selenium.click("id=submitbutton"); selenium.waitForPageToLoad("10000"); verifyTrue(selenium.isTextPresent("Bạn không để trống trường này.")); 10 } @After public void tearDown() throws Exception { selenium.stop(); } } Giới thiệu CSE HTML Validator • CSE HTML Validator gì: CSE HTML Validator for Microsoft Windows công cụ kiểm tra CSS, HTML, XHTML mạnh mẽ, dễ sử dụng Bên cạnh đó, cịn trang bị cơng cụ kiểm tra SEO, liên kết, khả truy cập trình soạn thảo tích hợp Chỉ cần mở tài liệu HTML, XHTMLL CSS CSE HTML Validator Pro sau nhấn F6, chương trình thực thao tác cho bạn Những lỗi cú pháp, cảnh báo tin nhắn khác xuất bên nguồn tài liệu bạn Đơn giản, cần nhấp chuột lên tin nhắn bạn phát vị trí mà tài liệu gặp vấn đề Sửa chữa vấn đề với trình soạn thảo tích hợp, kiểm tra lại tài liệu để đảm bảo vấn đề khắc phục sau lưu lại bạn hồn tất Ví dụ: error {color: #FF0000;} Absolute classes registration* required field.
Name: * E-mail: * Time: Classes: Gender: Female Male 13 * Kết bảng đăng kí lớp học : 14 Giới thiệu jQuery Validation jQuery Validation công cụ xây dựng giúp lập trình viên xác thực thông tin người dùng nhập vào Form cách nhanh chóng dễ dàng Để sử dụng jQuery Validation bạn cần phải biết qua phương thức “$ (‘#id_cua_form’).validate()” (Nếu dùng class bạn tự thay thế) Chúng ta có cấu trúc HTML đơn giản sau: Demo jQuery Validation - ThienAnBlog.com Họ Tên 15 Địa chỉ Gửi Và cấu trúc thẻ : $(document).ready(function() { //Khi bàn phím nhấn thả chạy phương thức $("#formDemo").validate({ rules: { ho: "required", ten: "required", diachi: { required: true, minlength: } }, messages: { ho: "Vui lòng nhập họ", ten: "Vui lòng nhập tên", diachi: { required: "Vui lòng nhập địa chỉ", minlength: "Địa ngắn vậy, chém gió ah?" } } }); }); Khi chạy nó, bạn thấy thư viện thực “Xác thực” (Validate) nhấn vào nút “Submit” nút “Gửi” Hoặc bạn gõ vài dòng chữ vào nhận khác biệt xóa Đó đoạn thơng báo nhỏ sau: Ví dụ demo khác hồn chỉnh: 16 jQuery Validate - ThienAnBlog.com label { display: inline-block; width: 150px; } input[type="text"], input[type="password"] { display: inline-block; width: 200px; } label.error { display: inline-block; color:red; width: 200px; } Demo jQuery Validate - ThienAnBlog.com Họ Tên Địa chỉ Số điện thoại 17 Email Mật khẩu Nhập lại mật khẩu Điều khoản Thông tin thêm Gửi $(document).ready(function() { //Khi bàn phím nhấn thả chạy phương thức $("#formDemo").validate({ rules: { ho: "required", ten: "required", diachi: { required: true, minlength: }, sodienthoai: { required: true, minlength: }, password: { required: true, minlength: }, confirm_password: { 18 required: true, minlength: 5, equalTo: "#password" }, email: { required: true, email: true }, dieukhoan: "required" }, messages: { ho: "Vui lòng nhập họ", ten: "Vui lòng nhập tên", diachi: { required: "Vui lòng nhập địa chỉ", minlength: "Địa ngắn ?" }, sodienthoai: { required: "Vui lòng nhập số điện thoại", minlength: "Số máy q khách vừa nhập số khơng có thực" }, password: { required: 'Vui lòng nhập mật khẩu', minlength: 'Vui lịng nhập kí tự' }, confirm_password: { required: 'Vui lòng nhập mật khẩu', minlength: 'Vui lòng nhập kí tự', equalTo: 'Mật khơng trùng' }, email: { required: "Please provide a password", minlength: "Your password must be at least characters long", equalTo: "Please enter the same password as above" }, email: "Vui lòng nhập Email", agree: "Vui lòng đồng ý điều khoản" } }); }); 19