Tải bản đầy đủ (.doc) (17 trang)

WEB ENGINEERING – KIỂM THỬ ỨNG DỤNG WEB

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (442.03 KB, 17 trang )

BÁO CÁO
NHÓM 15 – 08110CLC1
BÀI TẬP LỚN: MÔN CÔNG NGHỆ
PHẦN MỀM
ĐỀ TÀI: WEB ENGINEERING – KIỂM THỬ
ỨNG DỤNG WEB
DANH SÁCH SINH VIÊN THỰC HIỆN:
• Huỳnh Tấn Phát
• Vũ Việt Hùng
• Cao bá Lộc
1
Mục Lục
I. Lời giới thiệu.
Trong thế giới điện toán ngày nay, các ứng dụng Web đã thực sự phát triển
rất mạnh, nhanh. Hàng loạt công nghệ mới ra đời để đáp ứng những đòi hỏi của những
người sử dụng muốn có mỗi khi họ bật trình duyệt Web của mình lên. Gần như những gì
mà phần mềm truyền thống có thể làm được thì Web cũng làm được. Từ nghe nhạc, xem
phim, đọc báo, cả những công việc mà trước đây chỉ có phần mềm truyền thống mới có thể
thực hiện được như soạn thảo văn bản, các sản phầm chế bản văn phòng, chuyển đổi định
dạng các file, hay thậm chí cả những bài toán quản lý phức tạp của các doanh nghiệp cũng
có thể triển khai trên Web. Rõ ràng, Web là tương lai của điện toán hiện đại.
Thế nhưng để tạo được ra những ứng dụng Web tuyệt vời như vậy thì đằng sau đó là
một loạt những công đoạn, thao tác từ phân tích thiết kế, lập trình, kiểm thử, định giá.
Trong đó vấn đề kiểm thử các ứng dụng Web tuy cũng có một số điểm tương đồng với
kiểm thử phần mềm truyền thống nhưng nó có những điểm khác biệt rõ nét. Trong đề tài
bài tập lớn này, chúng em chỉ tìm hiểu khái quát về “thế nào gọi là kiểm thử ứng dụng
Web” để có 1 cái nhìn bao quát và nhìn ra sự khác biệt giữa kiểm thử Web và kiểm thử
phần mềm truyền thống.
II. Thế Nào Là Kiểm Thử 1 Ứng Dụng Web?
1. Khái quát.
2


Các ứng dụng Web đã được phát triển và trở thành 1 nền tảng kết nối thông tin thiết
yếu trong nhiều doanh nghiệp. Các ứng dụng Web đóng vai trò quyết định của thương mại
điện tử (e-commerce), trao đổi thông tin.
Để có thể đạt được điều này, các ứng dụng Web cần phải có hiệu năng cao, đáng tin
cậy v.v… Việc đưa ra 1 ứng dụng Web hoàn hảo cho những người đang và sẽ sử dụng ứng
dụng đã trở thành 1 thử thách chính trong đảm bảo chất lượng. Kiểm thử là một trong
những công việc quan trọng để có thể đánh giá chất lượng của 1 sản phẩm và đương nhiên
là các ứng dụng Web cũng không phải là ngoại lệ. Các phương pháp kiểm thử thông
thường và các kĩ thuật sẽ tập trung vào đánh giá các chức năng yêu cầu của ứng dụng. Tuy
nhiên, không thể nào tập trung được vào hết tất cả các chức năng yêu cầu. Bởi có rất nhiều
chức năng quan trọng cho người sử dụng ứng dụng như đó là: tính hiệu năng, tính dễ sử
dụng, độ tin cậy, và tính bảo mật cần phải được xem xét. Những yêu cầu và mong đợi của
người sử dụng, những vấn đề về nền tảng và cấu hình, mô hình nghiệp vụ, sự phát triển và
chi phí cho việc kiểm thử là những vấn đề thường hay gặp phải và thay đổi liên tục đổi
xuyên suốt chu trình của 1 ứng dụng Web. Vì thế, cần thiết phải phát triển 1 chiến lược
hiệu quả cho việc kiểm thử mà có thể bao quát được giới hạn tổng thể rộng lớn của những
yêu cầu, chức năng cho 1 ứng dụng Web qua đó có thể giúp cho việc cài đặt, hoàn thành
ứng dụng cũng như tránh được các rủi ro có thể gặp.
2. Tại Sao Phải Kiểm Thử Ứng Dụng Web
Các ứng dụng Web đưa ra những thử thách mới trong việc đánh giá và kiểm thử.
Các ứng dụng Web bao gồm nhiều thành phần khác nhau có thể được cung cấp bởi
những nhà phát triển khác nhau. Chất lượng của 1 ứng dụng Web về cơ bản phụ thuộc
vào các thành phần kể trên và khả năng tương tác giữa chúng. Kiểm thử là 1 trong
những công cụ quan trọng nhất trong quá trình phát triển 1 ứng dụng Web để tạo ra
những sản phầm với chất lượng cao đáp ứng được mong đợi của người dùng. Việc
3
kiểm thử 1 cách có phương pháp và hệ thống các ứng dụng Web là một điều quan
trọng, và chúng nên được quan tâm xứng đáng trong quy trình tạo ra 1 sản phẩm Web.
Kiểm thử là một biện pháp ngắm vào việc tìm ra các lỗi, thiếu sót trong ứng dụng dưới
góc độ kĩ thuật. Hiện nay có rất nhiều phương pháp và kĩ thuật tiên tiến, hiệu quả để

kiểm thử những hệ thống phần mềm. Tuy nhiên, chúng ta không thể áp dụng 1 cách
cứng nhắc những phương pháp hay kĩ thuật áp dụng cho phần mềm truyền thống lên
những ứng dụng Web. Vậy vấn đề đặt ra ở đây là chúng ta cần phải linh hoạt khi áp
dụng làm cho những phương pháp này phù hợp, thích ứng với việc kiểm thử các ứng
dụng Web.
Những kiểm thử cần có cho 1 ứng dụng Web
Kiểm thử các ứng dụng Web đã vượt qua giới hạn của kiểm thử những hệ thống
phần mềm truyền thống. Như chúng ta biết, 1 ứng dụng Web thường có rất nhiều nhóm
người sử dụng với rất nhiều những nền tảng khác nhau (hệ điều hành, trình duyệt v.v…),
điều này dẫn tới việc kiểm thử 1 ứng dụng Web cần phải có những phương pháp đặc biệt
khác với phần mềm truyền thống. Thông thường, rất khó để có thể đoán trước được số
lượng người sẽ sử dụng 1 ứng dụng Web là bao nhiêu. Thời gian hồi đáp lại yêu cầu của
người sử dụng là 1 yếu tố then chốt trong số những yếu tố quyết định thành công của 1 ứng
dụng Web trên Internet và nó cần được quan tâm và kiểm thử sớm. Những yếu tố còn lại
như khả năng - giá trị sử dụng, tính bảo mật, tính tương thích với các trình duyệt, hiệu
năng cũng rất quan trọng và cần được quan tâm đến sớm trong công việc kiểm thử.
Chúng ta sẽ đề cập đến những giải pháp, phương thức và công cụ cho kiểm thử
Web. Kinh nghiệm đúc kết từ những dự án nghiên cứu và rất nhiều các dự án trong thực tế
đã góp phần hình thành những nền tảng cơ sở cho sự phát triển của các phương pháp kiểm
thử ứng dụng Web.
3. Những công việc khi kiểm thử 1 ứng dụng Web.
Kiểm thử là một hoạt động để đánh giá chất lượng của 1 sản phẩm phần mềm và
quan trọng là cải thiện nó bằng cách tìm ra những thiếu xót, khiếm khuyết. “Nếu chúng ta
chạy 1 phần mềm mà với ý định tìm ra lỗi của nó tức là chúng ta đang nói đến việc kiểm
thử” (Myers 1979). Trong hình sau, chúng ta thấy kiểm thử là 1 phần của công việc phân
4
tích, đánh giá chất lượng. Bằng việc tìm ra các lỗi và kiểm tra chất lượng của 1 chương
trình là 1 cách cơ bản để cải thiện chất lượng cho 1 phần mềm.
Cấu trúc của kiểm định chất lượng phần mềm
Mục đích của bất kì chương trình nào chính là xử lý thông tin. Chúng ta nói rằng

“lỗi” là khi chương trình không đưa ra kết quả như mong đợi.Tức là sự khác biệt giữa kết
quả thực tế và kết quả mong đợi sẽ là lỗi.
Định nghĩa này ngụ ý rằng các định nghĩa yêu cầu được sử dụng như một cơ sở cho
việc thử nghiệm được hoàn tất và có sẵn trước khi cài đặt và kiểm tra. Một vấn đề thường
hay xảy ra trong quá trình phát triển các ứng dụng Web đó là các yêu cầu này thường
không đầy đủ, tường minh và có thể thay đổi bất cứ lúc nào. Thông thường, chúng ta cần
có được cái nhìn khái quát về các chức năng cơ bản mà ứng dụng Web sẽ có. “Cái nhìn
khái quát” này sẽ là tầm nhìn để thực hiện phát hành lần đầu ứng dụng. Kết quả là, các chu
kì nhỏ hơn của các chức năng mới được bổ sung sẽ theo sau các chu trình phát triển ban
đầu này.
Phương pháp tiếp cận nhanh – tập trung vào tính chất lặp và tiến hóa của 1 ứng dụng Web
và vòng đời phát triển của chúng mà không hề có bất cứ 1 văn bản cụ thể nào định nghĩa
về phương pháp này. Các mục tiêu, mối quan tâm và mong đợi của các bên liên quan có để
hình thành cơ sở cho việc thử nghiệm.
Các bên liên quan (trong công việc phát triển 1 ứng dụng Web) thường có những
mong đợi, kỳ vọng khác nhau, thậm chí 1 số kỳ vọng còn có thể mơ hồ. Chính vì lý do
này, mong đợi, kỳ vọng của các bên liên quan sẽ không thể thống nhất và quyết định xem 1
kết quả mà ứng dụng đưa ra có là sai sót hay không trừ khi các bên liên quan đã có 1 thỏa
thuận về các yêu cầu, mong đợi cụ thể từ ứng dụng và những mong đợi, yêu cầu này ở
dạng có thể kiểm thử. Để hỗ trợ giúp cho những “kiểm thử viên” có thể có được cái nhìn
sâu sắc và thấu đáo những mong đợi, kỳ vọng của người sử dụng thì những kiểm thử viên
này cần được tham gia càng sớm càng tốt vào công việc xác định và định nghĩa các yêu
cầu.
4. Các Đặc Điểm Về Chất Lượng Của Một Ứng Dụng Web.
Một người sử dụng không chỉ mong đợi chương trình của họ sẽ vận hành 1 cách ổn
định, đúng đắn mà họ còn yêu cầu một số chức năng nào đó phải luôn sẵn sàng trên 24 giờ
trong 1 ngày và 7 ngày trong tuần. Hơn nữa, người sử dụng còn mong đợi ở chương trình
5
những ưu điểm sau: tính dễ sử dụng, độ tin cậy, tốc độ, tương thích với các hệ thống khác
nhau và tương thích với các phiên bản trong tương lai. Còn với 1 ứng dụng Web, thì những

yêu cầu về chất lượng bao gồm:
• Yêu cầu về chức năng: sự hiện diện của các chức năng đáp ứng những yêu
cầu được xác định. Các yêu cầu cần có nữa là tính phù hợp, chính xác, khả
năng tương tác, tuân thủ và bảo mật.
• Yêu cầu về Độ tin cậy: khả năng của 1 ứng dụng để duy trì sự hiệu quả của
nó trong 1 điều kiện cụ thể và trong 1 khoảng thời gian xác định.
• Yêu cầu về Khả năng sử dụng: tính dễ sử dụng và hiệu quả của 1 ứng dụng.
Vấn đề này có thể được thẩm định bởi 1 nhóm người dùng giả định.
• Yêu cầu về Hiệu quả: tỷ lệ giữa mức độ hiệu quả của 1 ứng dụng và các tài
nguyên mà nó sử dụng trong các điều kiện cụ thể.
Các yêu cầu về chất lượng đóng một vai trò thiết yếu khi thử nghiệm các ứng dụng
Web. Mặc dù nhìn chung thì chúng tương tự như những yêu cầu về chất lượng cho các hệ
thống phần mềm truyền thống, tuy nhiên chúng có thể có mức độ đòi hỏi cao hơn về chiều
sâu.
Do ý nghĩa quan trọng của các đặc điểm về chất lượng và sự khác biệt ở cách mà
chúng được kiểm thử, nhiều phương pháp để kiểm thử 1 ứng dụng Web tập trung vào một
vài các đặc điểm. Tuy nhiên tất cả các đặc điểm đều quan trọng đối với 1 ứng dụng Web.
Và công việc kiểm thử phải đảm bảo những yêu cầu này được cài đặt thành công.
5. Các Mục Tiêu Của Việc Kiểm Thử
Một ứng dụng được kiểm thử không có nghĩa là ứng dụng đó được cải thiện về chất
lượng trừ khi các lỗi và khiếm quyết được phát hiện và loại bỏ. Mục tiêu chính của kiểm
thử chính là phát hiện lỗi thay vì chứng minh rằng 1 ứng dụng không có lỗi. Kiểm thử phần
mềm không thể chứng minh 1 sản phẩm là không có lỗi mà sẽ làm điều ngược lại. Vì khi 1
sản phẩm sau khi thử nghiệm không bị phát hiện lỗi thì không có nghĩa là nó không có lỗi.
Đơn giản là vì các lỗi chưa được phát hiện.
Một số lượng lớn các đặc điểm về chất lượng cần được xem xét cùng vô vàn các giá
trị đầu vào làm cho việc kiểm thử không thể được hoàn tất. Ngay cả khi kiểm thử trên diện
rộng cũng không thể thực hiện được vì thông thường 1 chu trình phát triển rất ngắn. Do đó,
không thể tránh khỏi những thiếu sót khi kiểm thử và các lỗi tiềm tàng sẽ không bị phát
hiện. Đây là lý do tại sao việc kiểm thử thường có xu hướng tiếp cận với các lỗi. Những

phần của ứng dụng mà có khả năng các chứa lỗi nghiêm trọng cần được tập trung thử
nghiệm đầu tiên. Exploring the sources of risk may point to defects more directly than
basing tests mainlyon requirements (Bach 1999). As a consequence, a further important test
objective is to bring that risk to light, not simply to demonstrate conformance to stated
requirements.
Một kiểm thử là thành công khi nếu nó tìm ra các lỗi, đồng thời thêm vào đó là các
thông tin về trạng thái của ứng dụng được thu thập qua mỗi lần kiểm thử. Trái lại, kiểm thử
6

×