Kiểm thử hiệu năng và ứng dụng đảm bảo chất lượng cho các ứng dụng web luận văn ths công nghệ thông tin

57 691 5
Kiểm thử hiệu năng và ứng dụng đảm bảo chất lượng cho các ứng dụng web  luận văn ths  công nghệ thông tin

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ HOÀNG THỊ LUY KIỂM THỬ HIỆU NĂNG VÀ ỨNG DỤNG ĐẢM BẢO CHẤT LƢỢNG CHO CÁC ỨNG DỤNG WEB LUẬN VĂN THẠC SĨ Hà Nội – 2015 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CƠNG NGHỆ HỒNG THỊ LUY KIỂM THỬ HIỆU NĂNG VÀ ỨNG DỤNG ĐẢM BẢO CHẤT LƢỢNG CHO CÁC ỨNG DỤNG WEB Ngành: Công nghệ Thông tin Chuyên ngành: Kỹ thuật Phần mềm Mã Số: 60480103 LUẬN VĂN THẠC SĨ NGƢỜI HƢỚNG DẪN KHOA HỌC: TS PHẠM NGỌC HÙNG Hà Nội – 2015 Mục lục LỜI CẢM ƠN LỜI CAM ĐOAN DANH MỤC HÌNH VẼ, BẢNG BIỂU Chƣơng 1: Giới thiệu Chƣơng 2: Tổng quan kiểm thử hiệu 10 2.1 2.2 2.3 Định nghĩa kiểm thử hiệu 10 Phân loại kiểm thử hiệu 11 Các thuật ngữ 14 Chƣơng 3: Phƣơng pháp kiểm thử hiệu công cụ 16 3.1 3.2 3.3 Kiểm thử hiệu vòng đời phát triển phần mềm 16 Các dạng yêu cầu kiểm thử hiệu thực tế 20 Quy trình thực kiểm thử hiệu 22 3.3.1 Lập kế hoạch kiểm soát kiểm thử 23 3.3.2 Phân tích thiết kế kiểm thử 24 3.3.3 Triển khai (Implementation) thực thi (Execution) kiểm thử 26 3.3.4 Đánh giá kết đầu báo cáo 27 3.3.5 Các hoạt động kết thúc kiểm thử 27 3.4 Một số công cụ kiểm thử hiệu 28 Chƣơng 4: Ứng dụng kiểm thử hiệu vào dự án đơn vị 34 4.1 4.2 4.3 4.4 Giới thiệu dự án 34 Kế hoạch tổng thể dự án 35 Lập kế hoạch kiểm thử hiệu 38 Thiết kế kiểm thử hiệu 42 4.4.1 Thiết kế môi trƣờng 42 4.4.2 Thiết kế kịch kiểm thử 44 4.5 Triển khai thực thi kiểm thử hiệu 47 4.5.1 Cài đặt môi trƣờng, công cụ 47 4.5.2 Tạo kịch kiểm thử JMeter 48 4.5.3 Chạy kịch 50 4.6 Đánh giá kết đầu báo cáo 51 KẾT LUẬN 53 TÀI LIỆU THAM KHẢO 55 LỜI CẢM ƠN Trƣớc tiên xin gửi lời cảm ơn chân thành sâu sắc đến thầy giáo, Tiến sĩ Phạm Ngọc Hùng – ngƣời hƣớng dẫn, khuyến khích tạo điều kiện tốt cho thực đề tài Bằng niềm đam mê kinh nghiệm tuyệt vời kiểm thử, thầy ngƣời đồng hành truyền cảm hứng cho tơi suốt q trình thực nghiên cứu Tôi xin gửi lời cảm ơn chân thành tới thầy, cô giáo khoa Công nghệ Thông tin, Trƣờng Đại học Công nghệ, Đại học Quốc Gia Hà Nội tận tình đào tạo, trang bị cho kiến thức vô quý giá suốt trình học tập, nghiên cứu trƣờng Đồng thời xin cảm ơn tất ngƣời thân u gia đình tơi tồn thể bạn bè ngƣời giúp đỡ, động viên tơi gặp khó khăn, bế tắc nghiên cứu Cuối cùng, xin chân thành cảm ơn đồng nghiệp Công ty Trách Nhiệm Hữu Hạn Phần Mềm FPT, đặc biệt anh chị em đội kiểm thử, giúp đỡ, tạo điều kiện thuận lợi cho tơi học tập nghiên cứu chƣơng trình thạc sĩ Đại học Công nghệ, Đại học Quốc Gia Hà Nội LỜI CAM ĐOAN Tôi xin cam đoan luận văn thạc sĩ công nghệ thông tin “Kiểm thử hiệu ứng dụng đảm bảo chất lƣợng cho ứng dụng Web” cơng trình nghiên cứu riêng tôi, không chép lại ngƣời khác Trong toàn nội dung luận văn, điều đƣợc trình bày cá nhân đƣợc tổng hợp từ nhiều nguồn tài liệu Tất nguồn tài liệu tham khảo có xuất xứ rõ ràng hợp pháp Tơi xin hồn tồn chịu trách nhiệm chịu hình thức kỷ luật theo quy định cho lời cam đoan Hà Nội, ngày 09 tháng 05 năm 2015 Hồng Thị Luy DANH MỤC HÌNH VẼ, BẢNG BIỂU Hình 3.1 Kiểm thử hiệu nằm mức độ kiểm thử hệ thống 16 Hình 3.2 Kiểm thử hiệu mơ hình thác nƣớc 17 Hình 3.3 Kiểm thử hiệu mơ hình chữ V 19 Hình 3.4 Kiểm thử hiệu mơ hình Agile – Scrum 20 Bảng 3.6 Tài liệu đầu vào đầu giai đoạn lập kế hoạch 23 Bảng 3.7 Tài liệu đầu vào đầu giai đoạn lập phân tích thiết kế kiểm thử 25 Bảng 3.8 Tài liệu đầu vào đầu giai đoạn triển khai kiểm thử 26 Bảng 3.9 So sánh số cơng cụ tính phí phổ biến 29 Bảng 3.10 So sánh số công cụ mã nguồn mở phổ biến 31 Bảng 4.1 Tỉ lệ phân bổ thời gian công đoạn 35 Bảng 4.2 Tỉ lệ phân bổ thời gian cơng đoạn (tính theo ngày làm việc) 35 Hình 4.3 Chi tiết cơng việc giai đoạn 37 Bảng 4.4 Các thành viên tham gia vào dự án 38 Hình 4.5 Kế hoạch thời gian kiểm thử hiệu (Đơn vị tính: Ngày làm việc) 41 Hình 4.6 Tƣơng tác Maven, Jenkins JMeter 44 Bảng 4.7 Các kịch kiểm thử 45 Hình 4.8 Maven sau cài đặt 47 Hình 4.9 JMeter sau cài đặt 47 Hình 4.10 Jenkins sau cài đặt 48 Hình 4.11 Cấu trúc thƣ mục dự án 48 Hình 4.12 Các kịch kiểm thử 49 Hình 4.13 Dữ liệu kiểm thử 50 Hình 4.14 Kết chạy với 10 ngƣời dùng đồng thời 50 Hình 4.15 Kết chạy với 80 ngƣời dùng đồng thời 50 Hình 4.16 Kết chạy với 100 ngƣời dùng đồng thời 51 Hình 4.17 Kết chạy với 100 ngƣời dùng đồng thời 51 Chƣơng 1: Giới thiệu Kiểm thử hiệu (Performance test) phần quan trọng việc đảm bảo chất lƣợng phần mềm Đặc biệt ứng dụng Web, kiểm thử hiệu ảnh hƣởng trực tiếp đến ngƣời sử dụng hệ thống nhƣ bên liên quan Chẳng hạn nhƣ, khách hàng truy cập trang Web bán hàng trực tuyến công ty Sau vài phút lâu nữa, hệ thống tải xong ảnh sản phẩm mà họ cần tìm Việc hẳn ảnh hƣởng đến thái độ khách hàng cơng ty Họ cảm thấy khó chịu, thời gian Những lần sau, họ đắn đo khơng quay trở lại trang Điều đồng nghĩa với việc công ty quan hệ khách hàng, doanh thu Ở mức độ nghiêm trọng hơn, khách hàng tiền, chí nhiều tiền lỗi hiệu hệ thống Dƣới đây, kể số thảm họa hiệu ứng dụng Web xảy mức độ thiệt hại mà gây Trang Web Nectar1 Ngay mắt năm 2002, chƣơng trình thẻ tri ân khách hàng Nectar nỗ lực quảng cáo truyền hình tiếp thị trực tiếp qua thƣ điện tử tới mƣời triệu hộ gia đình, hƣớng ngƣời tới dịch vụ mắt họ Mặc dù, có phƣơng tiện đăng kí qua đƣờng điện thoại thƣ điện tử trực tiếp, Nectar cố gắng tiết kiệm chi phí cách cung cấp phần thƣởng khuyến khích ngƣời đăng kí trực tuyến qua trang Web Trong Nectar chuẩn bị cho kiện cách tăng dung lƣợng máy chủ lên gấp sáu lần, thời điểm đỉnh điểm với mƣời nghìn lƣợt khách truy cập vòng đủ để trang Web bị chết vòng ba ngày Nectar dẫn độ phức tạp q trình đăng kí (bảo mật mã hóa) nhƣ nút thắt cổ chai [1] Trang Web Bản đồ tội phạm cảnh sát Anh2 Trong động thái nhằm tăng tính minh bạch thống kê tội phạm, Chính phủ Anh đƣa trang Web tháng hai năm 2011, cho phép thành viên Đƣờng dẫn truy cập: http://www.nectar.com/ Đƣờng dẫn truy cập: http://www.police.uk cơng chúng có quyền truy cập vào thông tin tỉ lệ tội phạm khu vực họ thông qua điểm đánh dấu đồ tƣơng tác Điều nhận đƣợc tin tức thống, với câu hỏi đƣợc đặt độ xác tác động báo cáo, ví dụ, ảnh hƣởng đến tỉ lệ bảo hiểm giá nhà Các đồ tội phạm nhận đƣợc quan tâm lớn cơng chúng Nó nhận đƣợc mƣời tám triệu hit ngày (Hit: đơn vị dùng để đo lƣợng truy cập trang Web, tập tin gửi đến máy chủ đƣợc tính hit Ví dụ, trang Web có 20 hình ảnh mà ngƣời dùng chọn để xem lần, đƣợc tính 20 hit) Điều làm sập xuống vịng vài theo kiểu cơng khai Dƣờng nhƣ có lý trang Web bị sập dƣới mƣời tám triệu hit Rõ ràng trang Web đơn giản không thiết kế để hoạt động đƣợc quy mơ nào, dùng máy chủ Amazon EC2 để tăng thêm dung lƣợng Nhƣ bạn cần xây dựng trang Web mà dung lƣợng không cần đến 1000 lần máy chủ [2] Trang Web bán vé Thế vận hội London năm 20123 Có nhiều viết kiện Tháng tƣ năm 2011, sau lƣợt bán vé kết thúc, 6.6 triệu vé đƣợc bán trực tuyến Vấn đề vé không đƣợc bán lần lƣợt, ngƣời đến trƣớc đƣợc phục vụ trƣớc, mà nhiều ngƣời đợi đến phút cuối định đặt mua Trang Web chậm nhƣ rùa bị q tải Họ phải chặn cửa sổ để tồn thêm vài Vài tháng sau, trang bán vé Thế vận hội đƣợc mở trở lại, cho phép ngƣời ta mua bán vé thức với Nhƣng khơng thể đối phó với nhu cầu, chậm Nhiều vấn đề xảy tháng mƣời hai tháng một, với nhiều gián đoạn trang Web bán vé, dẫn đến nhiều kiện bị bán giảm giá [3] Thơng qua ví dụ trên, ta thấy tầm quan trọng hiệu ứng dụng Web, nhƣ mức độ thiệt hại mà gây nhƣ hệ thống không đƣợc kiểm thử đầy đủ trƣớc đƣa vào vận hành Việc cân công nghệ, thời gian tiền bạc để đạt đƣợc hiệu suất cao hệ thống chủ Đƣờng dẫn truy cập: http://www.tickets.london2012.com đề Hội nghị thƣờng niên O‟Reilly4, hội nghị uy tín bàn vấn đề nóng lĩnh vực cơng nghệ thông tin diễn hàng năm, tháng ba năm 2014 San Francisco Trong bối cảnh Internet ngày chi phối sâu sắc tới hoạt động sản xuất kinh doanh nhƣ đời sống xã hội, xu hƣớng dung lƣợng phần cứng ngày tăng mạnh với giá thành rẻ đáp ứng quy mô ứng dụng, toán kiểm thử hiệu trở nên cấp thiết hết Trên giới, nhiều tác giả với nhiều cơng trình nghiên cứu đƣa nhiều phƣơng pháp tiếp cận giải toán kiểm thử hiệu cho ứng dụng Web Các doanh nghiệp cộng đồng yêu thích kiểm thử hiệu mắt nhiều công cụ hỗ trợ kiểm thử hiệu hiệu loại ứng dụng Tuy nhiên, thị trƣờng phần mềm non trẻ Việt Nam, lúc việc kiểm thử hiệu ứng dụng Web đƣợc quan tâm cách mức Nó bị bỏ qua khơng đƣợc thực cách đắn, kỹ lƣỡng trƣớc triển khai sản phẩm Kết là, ứng dụng thƣờng có độ tin cậy thấp khả chịu tải Một số nguyên nhân kể đến là: Một là, thân doanh nghiệp phát triển, doanh nghiệp đầu tƣ chƣa ý thức đƣợc tầm quan trọng kiểm thử hiệu năng; Hai là, chƣa có phƣơng pháp kiểm thử hiệu cách đắn; Cuối là, chi phí kiểm thử tốn (chi phí mua cơng cụ, đào tạo kiểm thử viên, thực kiểm thử, v.v.) Kiểm thử hiệu tốn khó Vì vậy, tơi định chọn đề tài “Kiểm thử hiệu ứng dụng đảm bảo chất lượng cho ứng dụng Web” Đề tài nhằm cung cấp nhìn tổng thể kiểm thử hiệu năng, đƣa phƣơng pháp, công cụ nhƣ cách thức giải toán kiểm thử hiệu ứng dụng Web, điều kiện thực tế doanh nghiệp phần mềm Việt Nam Đặc biệt, phƣơng pháp sử dụng đề tài áp dụng cho mơ hình phát triển phần mềm nhanh – Agile, mơ hình phát triển phần mềm hiệu Luận văn bao gồm bốn chƣơng phần kết luận Chƣơng giới thiệu đề tài Chƣơng giúp ngƣời đọc hiểu bối cảnh đề tài, lý chọn đề tài, mục Đƣờng dẫn truy cập: http://fluentconf.com/ 41 Hình 4.5 Kế hoạch thời gian kiểm thử hiệu (Đơn vị tính: Ngày làm việc) Các tiêu chí đầu chấp nhận đƣợc Các tiêu chí đầu để nhóm kiểm thử có định dừng việc thực kiểm thử hiệu Các tiêu chí gồm: kết thu đƣợc thỏa mãn yêu cầu khách hàng sản phẩm bàn giao Các tài liệu bàn giao nhƣ: Bản kế hoạch kiểm thử, thiết kế kiểm thử, thiết kế ca kiểm thử, thiết kế môi trƣờng, kết kiểm thử thu đƣợc kịch bản, công cụ liên quan Đặc biệt hai báo cáo kết kiểm thử : Báo cáo thời gian phản hồi trung bình tỉ lệ lỗi yêu cầu đƣợc gửi tới máy chủ trƣờng hợp 10, 20, 40, 50, 60, 80, 100 ngƣời dùng truy cập đồng thời báo cáo tình trạng trang Web đáp ứng đƣợc 100 ngƣời sử dụng đồng thời vòng giây 42 4.4 Thiết kế kiểm thử hiệu Kiểm thử hiệu sử dụng cơng cụ Nó loại kiểm thử đặc thù Do đó, việc thiết kế cẩn thận kiểm thử điều quan trọng Trong có việc thiết kế mơi trƣờng thiết kế kịch kiểm thử 4.4.1 Thiết kế môi trƣờng Môi trƣờng triển khai kiểm thử hiệu bao gồm thơng tin về:  Máy kiểm thử: trình duyệt (Mozilla Firefox/ Chrome phiên Internet Explorer 8), hệ điều hành Win phiên 32 bit, RAM 4GB, ổ đĩa 500MB  Máy chủ: Đƣợc thuê từ bên thứ ba, đáp ứng đƣợc yêu cầu trang Web  Băng thông mạng 10Mbps  Các công cụ hỗ trợ Trong đó, việc lựa chọn sử dụng công cụ phần quan trọng kiểm thử hiệu Lựa chọn công cụ tốt, không đáp ứng đƣợc yêu cầu dự án mà cịn tiết kiệm đƣợc chi phí, thời gian cơng sức Với tính ƣu việt, dự án sử dụng công cụ Apache JMeter, phần mềm mã nguồn mở phổ biến để kiểm thử hiệu Để áp dụng cho dự án Scrum, kết hợp với công cụ Maven Jenkins Việc giúp việc chạy kịch kiểm thử hiệu tự động với loại báo cáo thân thiện JMeter Ứng dụng Apache JMeter phần mềm mã nguồn mở với 100% ứng dụng Java đƣợc thiết kế để kiểm thử tải hành vi chức đo đạc hiệu Ban đầu đƣợc thiết kế để kiểm thử ứng dụng Web, nhƣng sau đƣợc mở rộng chức kiểm thử khác Ƣu điểm JMeter:  Nó phần mềm mã nguồn mở Chi phí mua phần mềm đồng 43  Giao diện thân thiện Ngƣời dùng dễ dàng tạo kịch kiểm thử  Có thể kiểm thử tải kiểm thử hiệu nhiều loại giao thức/máy chủ khác nhau: Web - HTTP, HTTPS, SOAP / REST, FTP, sở liệu qua JDBC, LDAP, phần mềm trung gian hƣớng thông điệp (MOM) qua JMS, Mail - SMTP(S), POP3(S) IMAP(S), MongoDB (NoSQL), TCP  Kiến trúc Java, đƣợc cấu trúc thành tập tin thƣ mục dễ dàng cho việc mở rộng tiện ích Apache Maven Maven công cụ hiểu quản lý dự án phần mềm Dựa khái niệm mơ hình đối tƣợng dự án, Maven quản lý việc xây dựng, báo cáo làm tài liệu dự án từ phần trung tâm thông tin Maven cơng cụ mã nguồn mở, tích hợp với nhiều tảng khác Maven tích hợp với JMeter thơng qua plug in Nó giúp JMeter xây dựng báo cáo tốt Bên cạnh đó, Maven giúp lƣu thơng tin cấu hình dự án cách tập trung cho dự án kiểm thử Jenkins CI Jenkins CI máy chủ tích hợp liên tục mã nguồn mở hàng đầu Nó đƣợc xây dựng Java cung cấp 1009 plugin để hỗ trợ xây dựng kiểm thử hầu hết dự án Jenkins tích hợp với JMeter để xây dựng (build) có thay đổi kịch kiểm thử tạo báo cáo thân thiện Kết hợp ba công cụ JMeter, Maven Jenkins đƣợc kết hợp với nhƣ thể hình 4.6 Ở đây, JMeter hỗ trợ kiểm thử viên tạo kịch kiểm thử Thông qua đối tƣợng đƣợc định nghĩa tập tin pom.xml (pom viết tắt Project Object Model), Maven tải xuống sử dụng plug in, cụ thể với JMeter jmetermaven-plugin Các kịch dƣới dạng tập tin jmx đƣợc chạy báo cáo đƣợc tạo dạng thô XML Bằng số plug in, Jenkins đọc tập tin XML 44 sinh báo cáo dạng excel, đồ thị, v.v trực quan Đặc biệt hơn, Jenkins cho phép ngƣời dùng đặt lịch chạy kịch cách tự động Tích hợp JMeter Maven Jenkins ọi Tạo G Báo cáo dạng đồ thị, tập tin csv, cá c tập ng tin xm bá l o cá o Tập tin pom.xml Hình 4.6 Tƣơng tác Maven, Jenkins JMeter 4.4.2 Thiết kế kịch kiểm thử Để giảm thiểu thời gian công sức nhập liệu, ta thiết kế kịch theo hƣớng liệu (data driven) Dữ liệu kiểm thử đƣợc sử dụng kịch đƣợc lƣu trữ tập trung, thuận tiện cho việc quản lý Các kịch đƣợc xây dựng với mục đích giả lập mơi trƣờng ngƣời dùng hệ thống Với số lƣợng ngƣời dùng ƣớc tính hệ thống, công cụ mô dùng số ngƣời tác động tới hệ thống Kết thu đƣợc đƣợc sử dụng để đánh giá khả chịu tải hệ thống Tải đƣợc sinh với tiêu chí sau: với giả thiết sử dụng máy tính cá nhân để thiết lập số ngƣời dùng ảo, công cụ sinh lƣợng ngƣời dùng ảo trƣờng hợp nhƣ sau :  Tạo lần lƣợt số lƣợng ngƣời dùng ảo truy cập vào hệ thống 10, 20, 40, 50, 60, 80, 100 theo dõi lƣợng thời gian phản hồi tỉ lệ lỗi trƣờng hợp  Tạo 100 ngƣời dùng ảo truy cập vào hệ thống vòng giây, thu thập thông số thời gian phản hồi Nếu thời gian phản hồi

Ngày đăng: 04/11/2015, 18:07

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan