MỤC LỤC
Năm 1989, Fayyad, Piatestsky-Shapiro và Smyth đã dùng khái niệm Phát hiện tri thức trong CSDL, đề chỉ toàn bộ quá trình phát hiện các tri thức có ích từ các tập dữ liệu lớn; trong đó khai phá dữ liệu là một bước đặc biệt trong toàn bộ quá trinh, sử dụng các giải thuật đặc biệt để chiết xuất ra các mẫu hay các mô hình từ dữ liệu. Những tiêu chí này khác nhau tùy từng dự án và được gọi tiêu chí kết thúc kiểm thử (exit criteria). Các tiêu chí này bao gồm:. - Số lượng test case tối đa được thực thi Passed - Tỷ lệ lỗi giảm xuống dưới mức nhất định - Khi đến deadline. Các hoạt động kiểm thử thường chỉ được kết thức khi các phần mềm được bàn giao cho khách hàng. Ngoài ra, hoạt đông kiểm thử có thể kết thức trong các trường hợp sau:. - Khi tất cả các thông tin đã được thu thập đầy đủ cho hoạt động kiểm thử - Khi 1 dự án bị hủy bỏ. - Khi các mục tiêu chính đã hoàn thành. Kiểm thử hộp đen là phương pháp kiểm thử phần mềm mà chức năng của phần mềm được đưa vào xem xét. Tester thực hiện kiểm thử dựa trên đầu vào và đầu ra của chương trình mà không quan tâm tới code bên trong được viết ra sao. Kiểu kiểm thử này được thực hiện hoàn toàn dựa trên bản đặc tả yêu cầu phần mềm. Trong quá trình kiểm thử hộp đen người kiểm thử sẽ phải tuân theo 4 bước thực hiện cụ thể như sau:. Trước tiên, để bắt đầu test kiểm tra cấu trúc và chức năng bên trong của sản phẩm bằng phương pháp Black Box Testing thì tester phải tiến hành phân tích các yêu cầu và lập tài liệu tổng quan cho việc kiểm thử gồm các thông tin cơ bản sau:. – Quy trình, phạm vi, các thông tin về nhân lực và tài nguyên phục vụ cho việc test. – Đưa ra các công cụ kiểm thử phù hợp nhất, các chức năng sản phẩm cần phải kiểm tra. – Phân công người test cho từng vị trí, giai đoạn. Test Case khi nào được bắt đầu và hoàn thiện…. Sau khi hoàn thành kế hoạch test plan thì khi này người kiểm thử phải dựa trên tài liệu và những yêu cầu cụ thể để hoàn thiện phần Test Case. Bên cạnh đó, 1 bản test case hoàn chỉnh sẽ phải chứa đầy đủ các thông tin của về giá trị dữ liệu đầu vào, mô tả được chính xác kết quả và hành động để có thể kiểm tra về chức năng của ứng dụng đã đúng theo kế hoạch hay chưa. Sau khi Develops đã lập trình xong phần code của dự án thì bộ phận tester sẽ thực hiện kiểm tra dựa vào các thông tin có trong phần test case đã viết. Khi này, nếu lỗi được phát hiện ra thì tester sẽ note trong các công cụ quản lý lỗi và lỗi developers nào thì người đó sẽ phải tự xử lý và khắc phục. Cho tới khi lỗi được fix xong thì tester sẽ 1 lần nữa kiểm tra lại chức năng xem mọi hoạt thực sự ổn chưa và đi tới bước lập báo cáo test. Cuối cùng, khi đã thực hiện test thành công thì tester sẽ phải báo cáo kết quả đạt được và những chỉ số có liên quan đến sản phẩm vừa thực hiện, chúng có thể là:. – Trong quá trình thực hiện passed lượng test case được thực hiện thành công. – Lỗi và tỷ lệ lỗi đã khắc phục. – Thời gian tối thiểu cho việc kiểm thử thông thường sẽ được chốt từ khi kế hoạch kiểm thử được lập nên. Các loại kiểm thử hộp đen. Có rất nhiều loại trong phương pháp kiểm thử hộp đen , dưới đây là 1 vài phương pháp nổi bật:. a) Kiểm thử chức năng. Đây là loại kiểm thử liên quan đến các yêu cầu chức năng của hệ thống , được thực hiện bởi các kỹ sư kiểm thử phần mềm. b) Kiểm thử phi chức năng. Các loại kiểm thử phi chức năng phổ biến thường là kiểm thử hiệu suất , kiểm thử khả năng mở rộng, kiểm thử tính khả dụng. c)Kiểm thử hồi quy. Là một dạng kiểm thử phần mềm để xác minh rằng phần mềm vốn đã được phát triển và kiểm thử từ trước vẫn sẽ hoạt động chính xác sau khi bị thay đổi hoặc giao tiếp với các phần mềm khác. Các công cụ sử dụng trong kiểm thử hộp đen. - Với kiểm thử chức năng hoặc kiểm thử hồi quy, chúng ta có thể sử dụng QTP, selenium. - Còn với kiểm thử phi chức năng, chúng ta có thể sử dụng LoadRunner , Jmeter. Các kỹ thuật kiểm thử hộp đen. Có rất nhiều phương pháp kiểm thử hộp đen nhưng trong bài viết này, mình sẽ giới thiệu cho các bạn 4 phương pháp quan trọng và phổ biến nhất đó là : Phân vùng tương đương, phân tích giá trị biên, bảng quyết định và đoán lỗi. a) Phân vùng tương đương. Đây là một kỹ thuật kiểm thử phần mềm liên quan đến việc chia các giá trị đầu vào thành các vùng tương đương hợp lệ và không hợp lệ. Với mỗi miền giá trị, chúng ta sẽ chọn một vài giá trị đại diện làm dữ liệu để test. Trong ví dụ này, chúng ta có thể chia thành các vùng tương đương như sau: Vùng tương đương hợp lệ:. Từ đó chúng ta có thể xây dựng được các testcase như sau:. b) Phân tích giá trị biên.
Phân tích giá trị biên tập trung vào các giá trị tại biên của miền xác định để xây dựng ca kiểm thử. Dựa trên những vùng giá trị tương đương, kiểm thử viên sẽ xác định giá trị biên giữa những vùng này và thiết kế ca kiểm thử phù hợp.
Kiểm thử viên phỏng đoán lỗi dựa trên trực giác và kinh nghiệm của mình, từ đó liệt kê các trường hợp có thể xảy ra lỗi và sinh ca kiểm thử. Trong một số trường hợp, kiểm thử viên có thể kết hợp với lập trình viên để tìm ra những trường hợp có thể bị bỏ sót trong quá trình viết đặc tả yêu cầu phần mềm và lập trình.
Kiểm thử các form nhập dữ liệu: Cần đảm bảo các trường nhập dữ liệu được thiết kế đúng kiểu loại, có bộ lọc kiểm tra tính đúng đắn của dữ liệu nhập vào (Validation) trước khi gửi đi (Submit) tránh việc hacker có thể tận dụng lỗ hổng SQL Injection từ chính các form đăng nhập liệu trên ứng dụng Web. Người kiểm thử cần truy cập tất cả các nội dung trên từng loại thiết bị, có thể xoay ngang, dọc màn hình (Đối với thiết bị di động, máy tính bảng) để xem ứng dụng Web được hiển thị như thế nào, chạy thử từng chức năng trên ứng dụng để đảm bảo chúng hoạt động như mong muốn.
Cũng giống như Selenium RC, Selenium WebDriver hỗ trợ viết kịch bản kiểm thử bằng các ngôn ngữ khác nhau như Java, .NET, PHP, Python, Perl, Ruby và kiểm thử viên có thể sử dụng các điều kiện if, else hay các vòng lặp để tăng tính chính xác cho kịch bản kiểm thử. Đây cũng là công cụ được sử dụng phổ biến hiện nay trong việc kiểm thử các dự án phát triển ứng dụng Web bởi giao diện trực quan, dễ sử dụng và khả năng ghi/phát lại các ca kiểm thử một cách linh động.
Selenium Grid là một hệ thống hỗ trợ kiểm thử viên thực thi kịch bản kiểm thử trên nhiều máy, nhiều trình duyệt một cách song song mà không cần chỉnh sửa kịch bản kiểm thử. Selenium Grid cho phép kiểm thử viên thực thi ca kiểm thử trên nhiều máy khác nhau với nhiều trình duyệt khác nhau.
Ngoài ra, Selenium IDE còn hỗ trợ kiểm tra kích thước cửa sổ, vị trí chuột, cảnh báo (alert), cửa sổ popup, xử lý sự kiện và nhiều tính năng khác cho ứng dụng Web. Assertions (xác minh): Assertions gần tương tự như Accessors, tuy nhiên nó xác định trạng thái của ứng dụng cho phù hợp với với kết quả mong đợi.
Cụ thể, kiểm thử viên có thể xác định điểm dừng tại một dòng lệnh ở giữa ca kiểm thử nhằm mục đích kiểm tra tình trạng của ứng dụng Web tại điểm dừng đó. Chọn dòng lệnh tại vị trí bắt đầu mong muốn, sau đó click chuột phải, chọn Set / Clear Start Point để thiết lập điểm bắt đầu cho ca kiểm thử.
Để thiết lập điểm dừng, chọn dòng lệnh mà tại đó ca kiểm thử sẽ dừng hoạt động, click chuột phải chọn Toggle breakpoint. Giả sử ca kiểm thử bắt đầu bằng việc truy cập vào một ứng dụng Web, đăng nhập và thực hiện các thao tác với ứng dụng.
Đây cũng là một ứng dụng với dung lượng khá nhẹ và cho phép download miễn phí tại trang chủ http://monosnap.com.
Trong một trang web Cổng thông tin sinh viên thông thường sẽ gồm có: Đăng nhập, trang chủ, …Cụ thể hơn, địa chỉ truy cập website cổng thông tin sinh viên Đại học Kiến trúc Hà Nội là https://tinchi.hau.edu.vn/. Quá trình kiểm thử sẽ diễn ra như công việc thực tế của một kiểm thử viên, trong đó có: sinh ca kiểm thử, tiến hành kiểm thử trên công cụ kiểm thử tự động và sử dụng Selenium IDE cài đặt trên trình duyệt Mozilla Firefox.
Khả năng sử dụng lại giới hạn: Mã kiểm thử được tạo bởi Selenium IDE có thể được sử dụng lại trong cùng một phiên bản Selenium IDE, nhưng nó không thể được sử dụng trong các phiên bản khác hoặc các công cụ Selenium khác. Không chỉ dừng lại ở đây, nhóm chúng em sẽ vẫn tiếp tục mở rộng nghiên cứu ra toàn bộ hệ thống Website trường Đại học Kiến trúc Hà Nội và kiểm thử được hết các chức năng trong trang Web: https://tinchi.hau.edu.vn/, Selenium IDE có thể được mở rộng bằng cách sử dụng các ngôn ngữ lập trình và công nghệ web khác nhau.