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

ĐỀ TÀI: CASE tools for deverlopment and Software Quality Assurance

20 577 4

Đ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 20
Dung lượng 201,83 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

B GIÁO DỤC VÀ ĐÀO TẠO Ộ 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

Quality Assurance

NHÓM 11

GV hướng dẫn:

Nhóm thực hiện gồm các thành viên:

1 Nguyễn Phương Nam

2 Nguyễn Hữu Thông

3 Trần Văn Vinh

Hà Nội, Ngày 14 Tháng 6 Năm 2016

Trang 2

Mở Đầu

Hàng loạt các công cụ chuyên dụng trên máy vi tính ngày càng tăng (trên thực

tế phần mềm gói) đã được cung cấp để bộ phận kỹ thuật phần mềm kể từ những thập niên 1990 Mục đích của những công cụ này là để thực hiện các công việc phát triển và duy trì đội hiệu quả hơn và hiệu quả hơn

Đặ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 hơ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 hơn do tăng tiêu chuẩn của hệ thống phần mềm

■ Giảm thế hệ của các khiếm khuyết về cùng với gia tăng xác định "tương tác" các khiếm khuyết trong quá trình phát triển

Rõ ràng là đặc điểm cuối cùng này là một phần lớn thu hút sự quan tâm của các nhà phân tích chất lượng phần mềm cho trường hợp các công cụ

Trong ánh sáng của các đặc điểm của họ, các công cụ CASE phục vụ như là một nguồn cho giảm bớt số lượng nỗ lực chi tiêu phát triển ngày càng phức tạp

và hệ thống phần mềm lớn

các phần sau sẽ đối phó với các đối tượng:

■ Một công cụ CASE là gì?

■ Làm thế nào có thể 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 thế nào có thể 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 thế nào và đến mức độ nào có thể công cụ CASE góp phần duy trì quá trình phát triển lịch trình và phù hợp với ngân sách?

Trang 3

Mục Lục

Mở Đầu 2

I Khái niệm CASE tool 4

1 Định nghĩa: 4

2 Sự hỗ trợ của các công cụ CASE cho người phát triển hệ thống 5

II Đóng góp của công cụ CASE tới việc cải thiện chất lượng phần mềm: 6

III Đóng góp của CASE tool cho chất lượng bảo trì phần mềm 8

1 Bảo trì sửa chữa (Corrective maintenance): 8

2 Bảo trì thích nghi (Adaptive maintenance): PTIT 9

3 Bảo trì cải thiện chức năng (Functional improvement maintenance): 9

IV Đóng góp của CASE tool cho quản lý dự án 9

4 Demo case tool 10

1 Giới thiệu về selenium 10

2. Giới thiệu về CSE HTML Validator 11

3. Giới thiệu về jQuery Validation 16

Trang 4

I Khái niệm CASE tool

1 Định nghĩa:

CASE tool : là những 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 hiện một hoặc nhiều pha trong vòng đời của phần mềm và/hoặc hỗ trợ việc bảo trì phần mềm

Tổng quát của định nghĩa cho phép trình biên dịch, gỡ lỗi các hệ thống tương tác,

hệ thống quản lý cấu hình và hệ thống kiểm tra tự động được coi là công cụ CASE

CASE có các loại ICASE, Upper CASE và Lower CASE ICASE nghĩa là

"Intergrated" CASE hay là CASE tích hợp,

"Upper" là công cụ ý tưởng hay chỉ là thiết kế logic,

"Lower" là công cụ chỉ hỗ trợ lập trình

Trong những công cụ trên, chúng ta sẽ tập trung vào các công cụ CASE hỗ trợ tối thiểu một giai đoạn phân tích và có thể hỗ trợ các giai đoạn khác; chúng được gọi chung là "CASE" Chúng ta cũng xác định những giai đoạn hiện nay đang được

hỗ trợ (dĩ nhiên là các giai đoạn này có thể thay đổi khi phát hành)

Môi trường CASE chuẩn bao gồm một kho chứa, các 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á, và giao diện người sử dụng

Một kho chứa là một từ điển dữ liệu hỗ trợ định nghĩa về các kiểu đối tượng khác nhau và quan hệ giữa các đối tượng đó Các công cụ đồ hoạ hỗ trợ cho việc phát triển dạng sơ đồ và đánh giá sự hoàn chỉnh của sơ đồ dựa vào các luật đã được

Trang 5

xác định trước Phần mềm văn bản cho phép định dạng tên, nội dung, và chi tiết các phần tử trong kho chứa Phần mềm giao diện là bộ biên dịch xác định dạng

dữ liệu được dùng (đồ hoạ hoặc văn bản) Phần mềm đánh giá là trí tuệ của

CASE Phần mềm này phân tích các đầu vào của sơ đồ hoặc kho chứa và xác định xem chúng có cú pháp hoàn chỉnh hay không (ví dụ có thoả mãn các định nghĩa của kiểu dữ liệu thành phần không), và chúng có tương thích với các đối tượng đang tồn tại khác trong ứng dụng hay không Giao diện người dùng cung cấp các màn hình và các báo cáo để xử lý tương tác và gián tiếp

2 Sự hỗ trợ của các công cụ CASE cho người phát triển hệ thống

được thể hiện trong bảng sau:

thiết kế dựa trên các bản ghi trong kho chứa

biểu đồ… theo dõi yêu cầu

cầu theo các bản ghi cập nhật trong kho chứa

người phân tích hệ thống và quản lý từ điển dữ liệu

tác mã cho ngôn ngữ lập trình cụ thể hoặc công cụ phát triển

mẫu hoặc ứ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)

và mã phần mềm, kiểm soát sự thay đổi trong thiết kế và mã phần mềm

lý kiểm thử và sửa bản ghi

liệu thiết kế, dựa trên mã của hệ thống phần mềm thừa kế Khi kho chứa của

Trang 6

phần mềm đã có, nó có thể được cập nhật và sử dụng để tự động tạo ra phiên bản mới của hệ thống

Quản lý dự án và chỉ số phần mềm Hỗ trợ việc quản lý dự án bằng cách

theo dõi lịch và tính toán năng suất, chỉ

số lỗi

II Đóng góp của công cụ CASE tới việc cải thiện chất lượng

phần mềm:

Đóng góp của CASE tool cho chất lượng sản phẩm phần mềm Lợi ích của các công cụ CASE đối với chất lượng sản phẩm phần mềm đó là làm giảm một số lượng lớn các lỗi trong các pha phát triển phần mềm

Để đánh giá được lợi ích này, chúng ta cùng xem xét việc cải tiến chất lượng mà các công cụ CASE thực hiện được trong 9 nguyên nhân gây

ra lỗi (được liệt kê trong phần 2.3) Đánh giá của chúng ta sẽ bao gồm

cả công cụ CASE cổ điển và thực

1 Lỗi trong xác định yêu

cầu

yêu cầu Hầu như không đóng góp Việc kiểm tra tính cố định của yêu cầu hay sự chính xác bằng máy tính gần như hiếm xảy ra

2 Việc thất bại trong

giao tiếp giữa khách hàng

và người phát triển

Hầu như không đóng góp Trong hầu hết các trường hợp, việc xác định sự thất bại trong giao tiếp bằng máy tính là không thể Những thất bại này chỉ có thể được xác định và ngăn chặn khi có thay đổi hoặc khi những thông tin khác được tìm thấy trở nên mâu thuẫn với những thông tin đã có

3 Sự chênh lệch có chủ ý

trong yêu cầu phần mềm

Đóng góp lớn Dựa trên những thông tin

Trang 7

đã có, những chênh lệch

từ yêu cầu được xác định như những mâu thuẩn và được liệt vào lỗi Những chênh lệch này có thể được xác định bằng các công cụ theo dõi yêu cầu

đã có và công cụ truy vấn (cross- referenced query tools)

4 Những lỗi trong thiết

kế theo logic

Đóng góp lớn

• Việc thiết kế lại (re- engineering) cho phép sản sinh tự động bản thiết

kế cho những hệ thống kế thừa và những bản ghi của chúng

• Việc sử dụng nơi lưu trữ nhằm xác định những thiếu xót trong thiết kế, những thay đổi và những mâu thuẫn mới có với những bản ghi đã có (bản ghi đã được lưu trữ từ trước)

dụng những trình biên dịch (compiler,

interpreters) và những trình gỡ lỗi tương tác (debugger) vào

Đóng góp rất lớn Áp dụng các công cụ CASE bên dưới vào nhằm tạo ra một cách tự động những đoạn code tương thích hoàn toàn với thiết kế có sẵn Thêm vào đó, vì code được tự động nên không có lỗi nào xảy ra

6 Không làm đúng với

những chỉ dẫn về code và

viết tài liệu

Đóng góp có giới hạn Sử dụng những trình biên tập văn bản và kiểm định code để hỗ trợ chuẩn hóa cấu trúc, phong cách của văn bản, code và làm việc

Đóng góp rất lớn

Áp dụng những công cụ CASE bên dưới vào nhằm tạo ra những đoạn code đảm bảo làm đúng với những chỉ dẫn về

Trang 8

xác định những sai lệch không đúng dễ dàng hơn

code và viết tài liệu

7 Những thiếu xót xảy ra

trong quá trình test

Đóng góp lớn Những công cụ kiểm tra tự động thực hiện hồi quy và kiểm tra việc nạp một cách tự động Việc quản

lý test và sửa lỗi bằng máy tính làm giảm lỗi

Đóng góp lớn Áp dụng những công cụ CASE bên dưới, đặc biệt là những công cụ CASE được tích hợp vào để ngăn chặn lỗi trong coding và giảm lỗi thiết

kế Ứng dụng của những công cụ lưu trữ tới việc sửa lỗi và thay đổi trong suốt quá trình phát triển nhằm ngăn ngữa hầu hết các lỗi của phần mềm

khiển các phiên bản, xem xét lại và cài đặt phần mềm bằng các công cụ quản lý quản lý cấu hìn

Đóng góp có giới hạn Sử dụng những bản tài liệu đầy đủ và luôn cập nhật làm việc ngăn ngừa các lỗi bảo trì gây ra bởi những tài liệu không đầy

đủ hoặc thiếu chính xác, đặc biệt nếu thiết kế đã được sửa lại nhiều lần

dụng duy nhất trình biên tập văn bản vào

Đóng góp lớn Sử dụng nơi lưu trữ một cách tự động nhằm sinh ra những bản tài liệu đầy đủ và luôn cập nhật trước mỗi lần sửa lỗi và thay đổi

III Đóng góp của CASE tool cho chất lượng bảo trì phần mềm

Các công cụ CASE có mặt trong nhiều loại của chất lượng bảo trì phần mềm theo nhiều cách khác nhau

1 Bảo trì sửa chữa (Corrective maintenance):

 Tài liệu của phần mềm được đã được cập nhật và CASE được đưa ra đầy đủ sẽ giúp tìm ra nguyên nhân gây lỗi (failure) của phần mềm một cách dễ dàng và chính xác hơn

Trang 9

 Các câu truy vấn cross-referenced cho phép xác định trước kết quả của kế hoạch sửa chữa đang đề ra một cách tốt hơn

 Sửa chữa bằng các công cụ CASE tích hợp hay bên dưới hỗ trợ coding tự động mà sẽ không có lỗi (error) lập trình nào cũng như tài liệu tự động của việc sửa chữa

2 Bảo trì thích nghi (Adaptive maintenance): PTIT

 Tài liệu phần mềm đầy đủ và được cập nhật bởi các công cụ CASE cho phép xem xét kĩ lưỡng khả năng thích nghi của gói phần mềm đối với ứng dụng mới, người dùng mới

3 Bảo trì cải thiện chức năng (Functional improvement maintenance):

 Việc sử dụng kho chưá cho phép những người thiết kế có thể đảm bảo tính nhất quán của các ứng dụng mới, các cải tiến mới với các 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 năng một cách dễ dàng hơn

 Các thay đổi và việc thêm các chức năng thực hiện bằng các công

cụ CASE tích hợp hay bên dưới cho phép coding tự động mà không có bất cứ lỗi (error) coding nào cũng như tài liệu tự động của các thay đổi và sửa chữa

IV Đóng góp của 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 hơn phương pháp thông thường

 Chất lượng của việc quản lý cả hai dự án là giống nhau với việc ước lượng lịch biểu và tài nguyên dưới mức yêu cầu Thông thường, việc áp dụng các công cụ CASE được mong đợi sẽ làm giảm giá thành và thời gian phát triển của dự án (“shorter time to market”) Tuy nhiên, vai trò của các công

cụ CASE đối với các khía cạnh chất lượng của quản lý dự án (gồm: điều khiển chi phí và thời gian) là trọng điểm sự quan tâm của chúng ta Hiện nay, đã có trường hợp sử dụng công cụ CASE hiện đại làm giảm độ lệch giữa kinh phí thực thi và lịch biểu theo kế hoạch, đặc biệt bởi vì chúng ngăn ngừa lượng lỗi (error) và cho phép sửa lỗi nhanh, dễ dàng hơn khi có yêu cầu Để việc quản lý dự án được cải thiện tốt hơn, công cụ điều khiển

dự án (ở đây được xem là loại của các công cụ CASE cổ điển) và các

Trang 10

phương pháp luận ước lượng thời gian, kinh phí được cải thiện phải được phát triển

1. Giới thiệu về selenium

Sử dụng selenium để viết test case

 Các thử nghiệm sau đó có thể chạy trên các trình duyệt hiện

đại nhất

 Selenium triển khai trên nền tảng Window , Linux, Mac

 Nó cho phép recording, editing, và debugging tests

 Kiểm thủ có thể được exported ở hầu hết các ngôn ngữ như HTML, JAVA, NET,PERL, RUBY, …

 Selenium có sự hỗ trợ của các nhà cung cấp trình duyệt lớn hỗ trợ

test case là cả đoạn code, và dữ liệu test là các giá trị nhập vào Test1,

Test2, Test3 và Đăng ký thành công

Như vậy, để tận dụng tối đa lợi thế test tự động, chúng ta viết một vòng lặp for() và đọc kết quả test từ 1 danh sách nào đó - như excel - rồi truyền vào các vị trí này

Sau đây la code test case sử dụng selenium về đă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 {

Trang 11

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 được để trống trường này."));

}

@After

public void tearDown() throws Exception {

selenium.stop();

}

}

2 Giới thiệu về CSE HTML Validator

CSE HTML Validator for Microsoft Windows là một công cụ kiểm tra CSS, HTML, XHTML mạnh mẽ, dễ sử dụng Bên cạnh đó, nó còn trang bị một công cụ kiểm tra SEO, liên kết, khả năng truy cập

và trình soạn thảo được tích hợp

Chỉ cần mở một tài liệu HTML, XHTMLL hoặc CSS bằng CSE HTML Validator Pro và sau đó nhấn F6, chương trình sẽ thực hiện mọi thao tác cho bạn Những lỗi cú pháp, cảnh báo và tin nhắn khác

sẽ xuất hiện bên dưới nguồn tài liệu của bạn Đơn giản, chỉ cần nhấp

Trang 12

chuột lên một trong những tin nhắn đó và bạn sẽ phát hiện ra vị trí

mà tài liệu của mình gặp vấn đề Sửa chữa vấn đề này với trình soạn thảo được tích hợp, kiểm tra lại tài liệu để đảm bảo vấn đề đã được khắc phục và sau đó lưu lại nó khi bạn đã hoàn tất

Ví dụ:

<html>

<head>

<style>

error { color : #FF0000;}

</style>

</head>

<body>

<? php

// define variables and set to empty values

$nameErr = $emailErr = $genderErr = $websiteErr = "" ;

$name = $email = $gender = $comment = $website = "" ;

if ( $_SERVER [ "REQUEST_METHOD" ] == "POST" ) {

if ( empty ( $_POST [ "name" ])) {

$nameErr = "Name is required" ;

}

else

{

$name = test_input ( $_POST [ "name" ]);

}

if ( empty ( $_POST [ "email" ])) {

$emailErr = "Email is required" ;

}

else

{

$email = test_input ( $_POST [ "email" ]);

// check if e-mail address is well-formed

if (! filter_var ( $email , FILTER_VALIDATE_EMAIL )) {

$emailErr = "Invalid email format" ;

}

}

if ( empty ( $_POST [ "website" ])) {

Trang 13

$website = "" ;

}

else

{

$website = test_input ( $_POST [ "website" ]);

}

if ( empty ( $_POST [ "comment" ])) {

$comment = "" ;

}

else

{

$comment = test_input ( $_POST [ "comment" ]);

}

if ( empty ( $_POST [ "gender" ])) {

$genderErr = "Gender is required" ;

}

else

{

$gender = test_input ( $_POST [ "gender" ]);

}

}

function test_input ( $data ) {

$data = trim ( $data );

$data = stripslashes ( $data );

$data = htmlspecialchars ( $data );

return $data ;

}

?>

<h2>Absolute classes registration</h2>

<p><span class = "error" >* required field.</span></p>

<form method = "post" action = "> ?php echo

htmlspecialchars($_SERVER["PHP_SELF"]); ?> ">

<table>

<tr>

<td>Name:</td>

<td><input type = "text" name = "name" >

<span class = "error" >* <? php echo $nameErr ;?> </span>

</td>

</tr>

<tr>

<td>E-mail: </td>

Ngày đăng: 17/06/2016, 22:26

TỪ KHÓA LIÊN QUAN

w