MỤC MỤC Lời cảm ơn Lời mở đầu MỤC MỤC Chương 1. Phần mềm và kiểm thử phần mềm: 1 1. Phần mềm: 1 1.1. Khái niệm: 1 1.2. Thế nào là lỗi phần mềm: 1 2. Kiểm thử phần mềm: 1 2.1. Các định nghĩa : 1 2.2. Vòng đời của kiểm thử (testing life cycle) 2 2.3. Quy trình của kiểm thử 3 2.4. Phân loại kiểm nghiệm: 4 Chương 2. Kiểm thử ứng dụng WEB và kiểm thử tự động 8 2.1. Kiểm thử ứng dụng WEB: 8 2.1.1. Khái quát : 8 2.1.2.Những công việc khi kiểm thử 1 ứng dụng Web : 8 2.1.3.Các đặc điểm về chất lượng của một ứng dụng Web 9 2.1.4.Những phương pháp kĩ thuật khi kiểm thử một ứng dụng WEB 10 2.1.4.1.Thử nghiệm liên kết 12 2.1.4.2.Thử nghiệm trình duyệt 13 2.1.4.3.Thử nghiệm tính năng 14 2.1.4.4.Kiểm tra bảo mật 14 2.1.5.Giới thiệu sơ qua về một số công cụ hỗ trợ kiểm thử ứng dụng web 15 2.3.Kiểm thử tự động 15 2.3.1.Khái quát kiểm thử tự động 15 2.3.2.Kiểm thử tự động là gì? 16 2.3.3.Tại sao phải kiểm thử tự động? 16 2.3.4.Quy trình kiểm thử tự động 17 2.3.5.So sánh giữa kiểm thử tự động và kiểm thử thủ công 17 Chương 3: Test Web bằng công cụ kiểm thử tự động SELENIUM 19 3.1. Selenium là gì? 19 3.2. Selenium IDE 19 3.2.1.Cách cài đặt Selenium IDE 20 3.2.2.Các icon của Selenium 22 3.2.3.Các thao tác để kiểm thử tự động với Selenium IDE 24 3.2.3.1.Chế độ ghi 24 3.2.3.2.MởLưu một testcase có sẵn 27 3.2.3.3.Thực thi 27 3.2.3.4.Gỡ rối 28 3.2.3.5.Chèn 29 3.2.3.6.Sửa CommandComment 32 3.2.4.Các câu lệnh trông Selenium IDE 32 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 38 Tài liệu tham khảo 35
Trang 1Lời cảm ơn
Em xin chân thành cảm ơn các thầy cô giáo Khoa Công Nghệ Thông Tintrường đại học Tài Nguyên và Môi Trường Hà Nội và nhất là cô KS.Lê ThịVui đã tạo điều kiện thuận lợi cho em qua quá trình học tập 4 năm qua vàtrong quá trình thực hiện báo cáo tốt nghiệp
Và em cũng xin cảm ơn bố mẹ và các anh chị tại công ty cổ phần VP9 đãgiúp đỡ em rất nhiều trong quá trình thực tập
Mặc dù đã rất cố gắng hoàn thiện bản báo cáo với tất cả năng lực của bảnthân nhưng vẫn không thể tránh khỏi nhiều điểm thiếu sót Vì thế mong thầy
cô thông cảm và đóng góp thật nhiều ý kiến để em có thể hoàn thiện hơn vềkiến thức
Một lần nữa em chân thành cảm và luôn mong nhận được các ý kiến củathầy cô!
Trang 2
Lời mở đầu
Hiện nay công nghệ thông tin, công nghệ phần mềm ngày càng có xuhướng phát triển mạnh trong xu hướng phát triển kinh tế công nghiệp hóahiện đại hóa
Cùng với sự phát triển của ngành gia công phần mềm; ngành gia công kiểmthử phần mềm tại Việt Nam cũng đang có tiềm năng phát triển Từ năm 2010,một số tập đoàn CNTT trên thế giới đang thuê các công ty phần mềm tại ViệtNam gia công kiểm thử phần mềm cho họ
Nhu cầu sử dụng dịch vụ kiểm thử phần mềm từ các đối tác nước ngoài,đặc biệt là kiểm thử phần mềm tự động tại Việt Nam đang gia tăng Số lượngcác kỹ sư kiểm thử phần mềm tại Việt Nam trong tương lai có thể tăng đếnhơn 10.000 người
Ngày nay tự động hóa đang được nghiên cứu và ứng dụng trong nhiều lĩnhvực trong đó công nghệ phần mền nói chung và kiểm thử tự động nói riêng.Khi mà kiểm thử phần mền tốn khá nhiều thời gian,tiền bạc và nhân lực chomột dự án nào đó thì kiểm thử tự động sẽ hỗ trợ tốt hơn kiểm thử thủ côngtrong mọt số trường hợp Selenium là một trong các loại kiểm thử tự độngđang phát triển nhất hiện nay Nó là một công cụ kiểm thử các ứng dụng web
có khá nhiều ưu điểm như có thể kiểm thử trên nhiều trình duyệt,hỗ trợ nhiềungôn ngữ lập trình và đặc biệt là nó là một mã nguồn mở, do đó các tổ chức
sẽ không mất phí bản quền
Với mong muốn tìm hiểu rõ hơn về kiểm thử phần mềm và nhất là về kiểmthử tự động với công cụ Selenium để là cơ sở cho ngành Tester mà em sẽhướng đến trong tương lai, nên em đã chọn đề tài “ Kiểm thử ứng dụngWEB với công cụ Selenium” làm đồ án tốt nghiệp đại học của mình Do thờigian, kinh nghiệm bị hạn chế và nhất là ngành Tester đang còn mới nên có
Trang 3MỤC MỤC
Lời cảm ơn
Lời mở đầu
MỤC MỤC
Chương 1 Phần mềm và kiểm thử phần mềm: 1
1 Phần mềm: 1
1.1 Khái niệm: 1
1.2 Thế nào là lỗi phần mềm: 1
2 Kiểm thử phần mềm: 1
2.1 Các định nghĩa : 1
2.2 Vòng đời của kiểm thử (testing life cycle) 2
2.3 Quy trình của kiểm thử 3
2.4 Phân loại kiểm nghiệm: 4
Chương 2 Kiểm thử ứng dụng WEB và kiểm thử tự động 8
2.1 Kiểm thử ứng dụng WEB: 8
2.1.1 Khái quát : 8
2.1.2.Những công việc khi kiểm thử 1 ứng dụng Web : 8
2.1.3.Các đặc điểm về chất lượng của một ứng dụng Web 9
2.1.4.Những phương pháp kĩ thuật khi kiểm thử một ứng dụng WEB 10
2.1.4.1.Thử nghiệm liên kết 12
2.1.4.2.Thử nghiệm trình duyệt 13
2.1.4.3.Thử nghiệm tính năng 14
2.1.4.4.Kiểm tra bảo mật 14
2.1.5.Giới thiệu sơ qua về một số công cụ hỗ trợ kiểm thử ứng dụng web 15
2.3.Kiểm thử tự động 15
2.3.1.Khái quát kiểm thử tự động 15
2.3.2.Kiểm thử tự động là gì? 16
2.3.3.Tại sao phải kiểm thử tự động? 16
2.3.4.Quy trình kiểm thử tự động 17
2.3.5.So sánh giữa kiểm thử tự động và kiểm thử thủ công 17
Chương 3: Test Web bằng công cụ kiểm thử tự động SELENIUM 19
3.1 Selenium là gì? 19
3.2 Selenium IDE 19
3.2.1.Cách cài đặt Selenium IDE 20
3.2.2.Các icon của Selenium 22
3.2.3.Các thao tác để kiểm thử tự động với Selenium IDE 24
3.2.3.1.Chế độ ghi 24
3.2.3.2.Mở/Lưu một testcase có sẵn 27
3.2.3.3.Thực thi 27
3.2.3.4.Gỡ rối 28
3.2.3.5.Chèn 29
3.2.3.6.Sửa Command/Comment 32
3.2.4.Các câu lệnh trông Selenium IDE 32
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 38
Tài liệu tham khảo 35
Trang 4Chương 1 Phần mềm và kiểm thử phần mềm:
1. Phần mềm:
1.1 Khái niệm:
Phần mềm là một (bộ) chương trình được cài đặt trên máy
tính nhằm thực hiện một nhiệm vụ tương đối độc lập,phục vụ cho một ứngdụng cụ thể quản lý hoạt động của máy tính trong các hoạt động kinh tế, quốcphòng, văn hóa, xã hội, giáo dục, giải trí
1.2 Thế nào là lỗi phần mềm:
Có rất nhiều định nghĩ khác nhau về lỗi phần mềm, nhưng ta có thể hiểu mộtcách tổng quát như sau:”lỗi phần mềm là sự không khớp giữa chương trình vàđặc tả của nó”
Dựa vào định nghĩa , chúng ta có thể thấy lỗi phần mềm sẽ xuất hiện dưới 3dạng chính sau:
- Sai: Sản phẩm được xây dựng khác với đặc tả.
- Thiếu: yêu cầu được đặc tả nhưng trong sản phẩm lại không có.
- Thừa: yêu cầu được đặc tả nhưng trong sản phẩm không yêu cầu.
Một số hình thức khác cũng được coi là lỗi khi đó là phần mềm khó hiểu,chậm hay phần mềm gây cho người sử dụng cảm giác không đúng
2.Kiểm thử phần mềm:
2.1 Các định nghĩa :
các lỗi của nó
xác, đầy đủ, và chất lượng của phần mềm máy tính phát triển
Trang 5mềm đúng theo yêu cầu của khách hàng không? Các hoạt động kiểm thử đượcdùng để đánh giá xem các tính chất được thực hiện trong phần mềm có thỏamãn các yêu cầu khách hàng và có thể theo dõi với các yêu cầu khách hàngkhông?)
Các mục tiêu chính của kiểm thử phần mềm:
khách hàng
báo cáo đúng vấn đề và hữu dụng
2.2 Vòng đời của kiểm thử (testing life cycle)
Lỗi có thể xảy ra ở tất cả các công đoạn từ “Mô tả yêu cầu”,”Thiết kế” đến
“Lập trình”
Từ công đoạn này chuyển sang giai đoạn khác thường rất dễ nảy sinh lỗi (do
dư thừa hoặc thiếu theo mô tả yêu cầu) đến công đoạn kiểm nghiệm chúng ta
sẽ phát hiện ra các hậu quả (các kết quả không theo mong muốn)
Quá trình sửa lỗi bao gồm “Phân loại lỗi”, “Cô lập lỗi” (tìm ra nguyên nhân
và nơi gây ra lỗi) sau đó đề ra” phương pháp sửa lỗi” rồi sửa lỗi
Trang 6Lỗi Sửa lỗi
Sai sót Lỗi
Sai sót Lỗi
Sai sót Hậu quả
Vòng đời kiểm nghiệm
2.3 Quy trình của kiểm thử
Quy trình kiểm thử phần mềm bao gồm các bước
· Lập kế hoạch kiểm tra
· Thiết kế test case
· Phát triển test script
- Thực hiện test
- Đánh giá kết quả test
Mô tả yêu cầu
Trang 7+) Lập kế hoạch : Nhằm chỉ định và mô tả các loại kiểm tra sẽ được triển
khai và thực hiện Kết quả của bước lập kế hoạch là bản tài liệu kế hoạchKTPM bao gồm nhiều chi tiết từ các loại kiểm tra, chiến lược kiểm tra, chođến thời gian và phân định lực lượng kiểm tra viên
+) Thiết kế test: Nhằm chỉ định các test case và các bước kiểm tra chi tiết
cho mỗi phiên PM Giai đoạn thiết kế test là hết sức quan trọng, hết sức quantrọng , nó đảm bảo tất cả các tình huống kiểm tra hết tất cả các yêu cầu
Các bước thiết kế test :
· Xác định và mô tả test cây
· Mô tả các bước chi tiết để kiếm tra
· Xem xét và khảo sát độ bao phủ của việc kiểm tra
· Xem xét test case và các bước kiểm tra
+) Phát triển test Script: Bước này thường không bắt buộc trong các loại và
mức kiểm tra, chỉ yêu cầu trong những trường hợp đặc thù cần thiết kế, tạo racác test script có khả năng chạy trên máy tính giúp tự động hoá việc thực thicác bước kiểm tra đã định nghĩa ở các bước thiết kế test
+) Thực hiện test:Mục đích thực hiện các bước kiểm tra đã thiết kế và ghi
nhận kết quả
+) Đánh giá test: Mục đích: Đánh giá toàn bộ quá trình kiểm tra bao gồm
xem xét và đánh giá kết quả kiểm tra lỗi, chỉ định các yêu cầu thay đổi và tínhtoán số liệu liên quan, đến quá trình kiểm tra
2.4 Phân loại kiểm nghiệm:
Một là phân biệt vào kĩ thuật kiểm thử ( Testing Technique)
- Kiểm thử tĩnh ( Static Testing): là phương pháp kiểm thử phần mềm đòi
hỏi phải duyệt lại các yêu cầu và đặc tả bằng tay,thông qua việc sử dụng giấybút để kiểm tra logic,chi tiết từng tí mà không cần chạy chương trình Kiểm
Trang 8thử này thương được sử dụng bởi chuyên viên thiết kế_ người viết mã lệnhmột mình.
Kiểm thử tĩnh cũng có thể được tự động hóa Nó sẽ được thực hiện kiểm tratoàn bộ bao gồm các chương trình được phân tích bởi một thông dịch haybiên dịch mà xác nhận tính hợp lệ về cú pháp của chương trình
- Kiểm thử động (Dynamic Testing): là phương pháp kiểm thử thông qua
việc dùng máy chạy chương trình để kiểm tra trạng thái tác động của chươngtrình Kiểm thử động bao gồm làm việc với phần mềm , nhập các giá trị đầuvào và kiểm tra xem liệu đầu ra ( sản phẩm) có như mong muốn theo yêu cầuđặc tả hay không
- Mức kiểm tra đơn vị (Unit):kiểm thử sự hiện thực chi tiết của từng đơn vị
nhỏ (hàm , class ) có hoạt động đúng không?
- Mức kiểm tra thành phần ( Module):kiểm thử các dịch vụ của module có
phù hợp với đặc tả của module đó hay không?
- Mức kiểm tra tích hợp ( Integration): kiểm thử từng phân hệ của phần
mềm có đảm bảo đặc tả thiết kế của phân hệ đó không?
- Mức kiểm tra tích hợp hệ thống ( System): kiểm thử các yêu cầu không
chức năng của phần mềm như chức năng, hiệu suất, mức độ đáp ứng, cấuhình, ổn định,phục hồi, quá tải,chất lượng, cài đặt Với mục đích đảm bảotòan bộ hệ thống hoạt động như ý mà khách hàng mong muốn
Trang 9Kiểm nghiệm quá tải(Overload testing)
- Mức kiểm tra độ chấp nhận của người dùng(Acceptence testing ):
nhằm bảo đảm việc người dùng có được hệ thống mà họ yêu cầu Việc kiểmnghiệm này hoàn thành bởi ngường dùng phụ thuộc vào các hiểu biết của họ
về các yêu cầu
Ngoài ra còn có:
- Alpha Test: Là kiểm thử hoạt động chức năng thực tế hoặc giả lập do
người dùng/khách hàng ngay tại nơi phát triền phần mềm, lập trình viên ghinhận lại lỗi hoặc phản hồi và lên kế hoạch sửa lỗi
- Beta Test: phần mềm được gửi đến cho người sử dụng để kiểm tra ngay
trong môi trường thực, lỗi,hoặc phản hồi cũng sẽ gửi ngược lại cho lập trìnhviên để sửa
kiểm ta đơn vị)
- Kiểm nghiệm hộp đen (Black box testing) dùng để kiểm tra chức năng Các phương pháp kiểm thử hộp đen:
Trang 10Ưu và nhược điểm: Các tester kiểm thử theo phương pháp blackbox testingkhông có “mối ràng buộc” nào với code,và nhận thức của một tester rất đợngiản: một source code ra nhiều lỗi Sử dụng nguyên tắc “hỏi và bạn sẽ nhận”các tester blackbox tìm được nhiều bug ở nơi mà các DEV không tìmthấy.Mặt khác, việc kiểm thử blackbox được xem như “là bước đi trong mêcung tối đen mà không mang đèn pin” bởi vì tester không biết phần mềmđang được test đã được xây dựng như thế nào
Vì vậy,black box testing có ưu điểm “an unaffiliated opinion” (một quan điểmđộc lập) mặt khác nó có nhược điểm là “blind exploring”(khám phá mù)
- Kiểm nghiệm hộp trắng (White box testing) dùng đề kiểm tra cấu trúc.
Các phương pháp kiểm thử hộp trắng:
programming interface):là phương pháp kiểm thử ứng dụng các API côngkhai và riêng tư
chuẩn về bao phủ mã lệnh
tĩnh
Phương pháp kiểm thử hộp trắng cũng có thể sử dụng để đánh giá sự hoànthành của một bộ kiểm thử mà được tạo cùng với các phương pháp kiểm thửhộp đen
Trang 11Chương 2 Kiểm thử ứng dụng WEB và kiểm thử tự động
2.1 Kiểm thử ứng dụng WEB:
2.1.1 Khái quát :
Các ứng dụng Web đã được phát triển và trở thành một nền tảng kết nối thôngtin 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ăngcao,đáng tin cậy 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ảochất lượng Kiểm thử là một trong những công việc quan trọng để có thể đánhgiá chất lượng của 1 sản phẩm và đương nhiên là các ứng dụng Web cũngkhông phải 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ầu 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 đó như : 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êucầ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 ứngdụ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 ứngdụ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.1.2.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 , khuyến
Trang 12khuyế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) 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àythường không đầy đủ , tường minh và thường có thể thay đổi bất kì lúc nào.Thông thường, chúng ta cần có dượ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ựchiệ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ứcnă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 kì vănbả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ó thể hình thành cơ sở cho việc thửnghiệm
2.1.3.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 1cách ổn định, đúng đắn mà họ yêu cầu 1 số chức năng nào đó phải luôn sắnsàng trên 24h/7day Hơn nữa, người sử dụng còn mong đợi ở chương trình ở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:
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
nó trong 1 điều kiện cụ thể và trong khoảng thời gian xác định
Trang 13 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 giả định.
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 ứngdụng web Mặc dù nhìn chung thì chúng tương tự như những yêu cầu về chấtlượ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 webtập trung vào 1 vài các đặc điểm Tuy nhiên tất cả các đặc điểm đều quantrọng đối với 1 ứng dụng web Và công việc kiểm thử phải đảm bảo nhữngyêu cầu này được cài đặt thành công
2.1.4.Những phương pháp kĩ thuật khi kiểm thử một ứng dụng WEB
Bảng:các phương pháp,kĩ thuật và các lớp công cụ để thử nghiệm các ứngdụng web
trườngChức
Năng
Phù hợp Xem lại và kiểm
tra, kiểm trahướng phát triển
mục,kiểm tra từmục,phong cáchhướng dẫn,xemlại
Độ
chính
xác
Thu hút /chạylại kiểm trahướng phát triển
Phân tích tĩnh,kiểm tra ngữpháp,xem lại
Phân tích tĩnh,kiểm tra ngữ pháp
Thao tác
giữa các
Trình duyệtchéo và nền
Kiểm tra in ấn,bảng chỉ mục,
Trình duyệt chéo
và nền tảng
Trang 14phần tảng
Kiểm tra khảnăng tươngthích
thử tính tươngthích, xem lại
Kiểm tra tươngthích
Sự hài
lòng
Thử nghiệmtương hợp
Phóng cáchhướng dẫn kiểmtra khả năngtương thích
Bảo mật Phân tích chung
tấn công,xét vàthanh tra
Phân tính chungtấn công,cưỡng-lỗi thử nghiệm,đạođức hacker
Độ bền thửnghiệm
Dung sai Buộc-lỗi thử
nghiệm, căng
nghiệm
Buộc lỗi thửnghiệm
Nguồn lực thửnghiệm thấp,căngthẳng thử nghiệmTính có
thể khôi
phục
Buộc –lỗi thửnghiệm
Fail-over thửnghiệm
Fail—over thửnghiệm
Buộc lỗi thửnghiệm
Nguồn nhân lựcthấp
Trang 15Dễ phân tích đểhọc
thực thi
Nghiên cứu khảnăng sử dụngTìm tòi đánh giá
Tìm tòi đánh giá
Sự hấp
dẫn
Công khai thửnghiệm
Kiểm thử tải vàcăng thẳng, giámsát
Tài
nguyên
sử dụng
Độ bền thửnghiệm
Khi chạy một thói quen kiểm tra liên kết , người ta thường thấy các liên kếtkhông chỉ là điểm đến không tồn tại trang, nhưng cũng có các trang khôngđược interlinked với những người khác hoặc còn gọi là các trang mồ côi.Những trang mồ côi có thể được đạt đến thông qua một liên kết , nhưng
Trang 16không có một liên kết đến cấu trúc siêu văn bản Để đơn giản người sử dụng
nó không rõ ràng nơi để đi tới , để chúng rời bỏ trang web
- Kiểm tra các chức năng ứng dụng với tính năng trình duyệt bật /tắt
- Kiểm tra dựng hình trình duyệt của giao diện người dùng ứng dụng củabạn
- Kiểm tra các thiết bị bảo mật của trình duyệt cho tên miền chéo truy cập vàhack
- Kiểm tra chức năng ứng dụng nhất quán trên nhiều phiên bản của một trìnhduyệt
Môi trường hoạt động tương thích
- Kiểm tra ứng dụng giao diện người dùng vẽ trên hệ thống cửa sổ hệ điềuhành
- Kiểm tra chức năng tích hợp máy tính để bàn , bao gồm kéo thả tập tin
- Thử nghiệm ứng dụng web của bạn trên các hệ điều hành khác nhau nhưwindown, unix,linux
2.1.4.3.Thử nghiệm tính năng
Load test
- Kiểm tra phản ứng máy chủ để dưới dạng trình duyệt gửi yêu cầu
Trang 17- Thử nghiệm cho các chức năng mà ngừng làm việc ở các cấp độ cao hơncủa người tải.
- Xác định các vấn đề về độ trễ mạng về chức năng ứng dụng web
Stress test
- Xác định cách thức ứng dụng đáp ứng theo mức độ tải
- Xác định các phần của ứng dụng web mà không theo mức độ tải
- Xác định các chức năng ứng dụng sau khi một vụ tai nạn hệ thống haythành phần thất bại
- Xác định các hình thức và liên kết các hoạt động khác nhau theo mức độtải
2.1.4.4.Kiểm tra bảo mật
- Bảo vệ dữ liệu ứng dụng web và duy trì chức năng như thiết kế
- Kiểm tra các hoạt động mà không cần loging
- Kiểm tra xác thực cơ bản sử dụng tên giả và các thông tin mật khẩu
- Kiểm tra các chức năng ứng dụng với các lĩnh vực đầu vào không hợp lệ ,bao gồm các lĩnh vực văn bản
- Kiểm tra bảo vệ máy chủ web của các thư mục web không thể truy cậphoặc các tập tin
- Kiểm tra để xác định ứng dụng web vi phạm an ninh bao gồm thông báo lỗi
và vi phạm an ninh nỗ lực đang được đăng nhập
- Kiểm tra các thiết lập bảo mật trình duyệt để di chuyển từ an toàn vào cáctrang web không an toàn
2.1.5 Giới thiệu sơ qua về một số công cụ hỗ trợ kiểm thử ứng dụng web
Công cụ test bảo vệ web
Firebug: ứng dụng an ninh web cho trình duyệt firrefox
Công cụ test hiệu năng
Trang 18- Loadrunner:thực hiện tự động và kiểm thử tải phần mềm từ HP
- Neoload: công cụ kiểm tra hiệu suất từ Neotys
- Silk Perfomer: công cụ kiểm tra hiệu suất từ Borland.
Công cụ test chưc năng
- Test Studio: công cụ kiểm thử phần mềm cho chứ năng web từ Telerik
- TOSCA testsuite: công cụ phần mềm thực hiện tự động các ứng dụng web
theo chức năng vf hồi quy
- Thêm nữa, Selenium cũng nằm trong thuộc nhóm công cụ này, nó dùng để
test tự động các ứng dụng web, có sẵn nhiều ngôn ngữ
2.3.Kiểm thử tự động
2.3.1.Khái quát kiểm thử tự động
Kiểm thử phần mềm tốn nhiều chi phí nhân công, thời gian Trong một dự án,chi phí cho kiểm thử phải chiếm đến 50% tổng giá trị của dự án Nếu cần ứngdụng an toàn hơn, chi phí kiểm thử sẽ tăng lên khá nhiều
Do đó một trong những mục tiêu của kiểm thử là tự động hóa phần lớn,nhờ đó
mà giảm thiểu chi phí, giảm lỗi,đặc biệt giúp cho kiểm thử hồi quy được dễdàng và nhanh chóng hơn nhiều
Tự động hóa kiểm thử là dùng phần mềm điều khiển việc thi hành kiểm thử
so sánh kết quả có được với kết quả mong muốn, thiết lập các điều kiện đầuvào,các kiểm soát kiểm thử và các chức năng báo cáo kết quả
2.3.2 Kiểm thử tự động là gì?
Kiểm thử tự động là qua trình xử lý 1 cách tự động các bước thực hiệntestcase, kiểm thử tự động bằng một công cụ nhằm rút ngắn thời gian kiểmthử
Trang 19- Kiểm thử tự động với các mục đích:
- Khi nào cần kiểm thử tự động
không đủ để có thể hoàn tất trong một thời gian cụ thể
sửa và chạy tốt nhưng việc này khó có thể đảm bảo về mặt thời gian
môi trường khác nhau :