1. Trang chủ
  2. » Luận Văn - Báo Cáo

Kiểm thử hiệu năng và thử nghiệm trên các ứng dụng triển khai cho doanh nghiệp

92 25 0

Đ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 92
Dung lượng 1,66 MB

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

Nội dung

Kiểm thử hiệu năng được thực hiện trong quá trình thực hiện dự án, là một trong những phần kiểm tra quan trong nhất trong kiểm thử kỹ thuật của hệ thống..  Các thuật ngữ trong kiểm thử

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

-

NGUYỄN KHÁNH DUY

KIỂM THỬ HIỆU NĂNG VÀ THỬ NGHIỆM TRÊN CÁC ỨNG DỤNG

TRIỂN KHAI CHO DOANH NGHIỆP

LUẬN VĂN THẠC SĨ KỸ THUẬT

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

- NGUYỄN KHÁNH DUY

KIỂM THỬ HIỆU NĂNG VÀ THỬ NGHIỆM TRÊN CÁC ỨNG

DỤNG TRIỂN KHAI CHO DOANH NGHIỆP

Chuyên ngành : Công nghệ thông tin

LUẬN VĂN THẠC SĨ KỸ THUẬT

NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS HUỲNH QUYẾT THẮNG

Hà Nội – 2014

Trang 3

MỤC LỤC

LỜI CAM ĐOAN 5

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 6

DANH MỤC BẢNG 7

DANH MỤC HÌNH VẼ, ĐỒ THỊ 8

MỞ ĐẦU 9

1 Lý do chọn đề tài 9

2 Mục đích của đề tài 11

3 Đối tượng và phạm vi nghiên cứu 11

4 Phương pháp nghiên cứu 11

5 Bố cục luận văn 12

CHƯƠNG I: KIỂM THỬ PHẦN MỀM 13

1.1 Kiểm thử phần mềm 13

1.2 Kiểm thử hiệu năng phần mềm 14

1.3 Mô hình kiểm thử cho dự án SAP 18

1.4 Kết luận 21

CHƯƠNG II: PHƯƠNG PHÁP KIỂM THỬ HIỆU NĂNG CHO SAP 23

2.1 Quy trình kiểm thử hiệu năng trên SAP 23

2.1.1 Load Test – Stress Test – Volume Test 24

2.1.2 Vai trò các thành phần tham gia dự án kiểm thử hiệu năng 25

2.1.3 Mô hình tổng quát 27

2.1.4 Lập kế hoạch 28

2.1.4.1 Phân tích quy trình (Process Analysis) 29

2.1.4.2 Phân tích dữ liệu (Data Analysis) 34

Trang 4

2.1.4.3 Lựa chọn công cụ kiểm thử tải (Tool Selection) 35

2.1.4.4 Hồ sơ tải (Load Profile) 36

2.1.5 Thực hiện kiểm thử tải (Load Test) 36

2.1.5.1 Chuẩn bị dữ liệu và hệ thống 37

2.1.5.2 Kiểm thử đơn người dùng (Single-user) 38

2.1.5.3 Kiểm thử đa người dùng (Multi-user) 39

2.1.5.4 Phân tích kết quả 40

2.1.5.5 Tối ưu hóa (Optimation) 40

2.1.6 Thực hiện kiểm thử tính ổn định (Stress Test) 41

2.1.7 Hoàn thành 42

2.1.7.1 Báo cáo tóm tắt 42

2.1.7.2 Kế hoạch thực hiện 43

2.1.7.3 Mô tả cấu trúc kiểm thử 43

2.1.7.4 Mô tả các mục tiêu kiểm thử 44

2.1.7.5 Tài liệu các kiểm thử được thực hiện 44

2.1.7.6 Bài học thu được 44

2.1.8 Tóm tắt 44

2.2 Áp dụng quy trình kiểm thử hiệu năng SAP bằng HP LoadRunner 46

2.2.1 Đặc điểm 46

2.2.2 Các bước thực hiện 47

1 Ghi nhận (Recording): 47

2 Phát lại (Replay): 48

3 Nâng cao (Enhancements): 48

4 Chuẩn bị thực thi (Prepare For Load): 48

Trang 5

5 Kết thúc (Finish): 49

2.3 Theo dõi, giám sát quá trình kiểm thử hiệu năng 49

2.3.1 Địa phương hóa tắc nghẽn hiệu năng 51

2.3.2 Các giao dịch phục vụ kỹ thuật giám sát 55

2.3.2.1 AL08 – Danh sách các người dùng đang đăng nhập 55

2.3.2.2 SM04 – Danh sách người dùng 56

2.3.2.3 SM21 – System Log 56

2.3.2.4 SM66 – Tổng quan quy trình làm việc toàn cục 57

2.3.2.5 STAD – Phân tích giao dịch (Transaction Analysis) 58

2.3.2.6 ST02 – Tổng quan về bộ đệm của SAP (SAP Buffer) 59

2.3.2.7 ST03N – Phân tích khối lượng công việc 60

2.3.2.8 ST04 – Tổng quan cơ sở dữ liệu (Database Overview) 62

2.3.2.9 ST05 – Phân tích vết SQL (SQL Trace) 62

2.3.2.10 ST06 – Giám sát hệ điều hành 63

2.3.2.11 ST22 – Lỗi thời gian chạy ABAP 64

2.4 Kết luận 65

CHƯƠNG III: ÁP DỤNG THỬ NGHIỆM PHƯƠNG PHÁP KIỂM THỬ HIỆU NĂNG TRÊN CÁC ỨNG DỤNG TẠI CÔNG TY VICOSTONE 66

3.1 Các ứng dụng hiện tại đang sử dụng tại VICOSTONE 66

3.1.1 Giới thiệu Công ty VICOSTONE 66

3.1.2 Hệ thống các ứng dụng của SAP 67

3.2 Đề xuất áp dụng công cụ kiểm thử hiệu năng HP LoadRunner cho hệ thống SAP 70

3.2.1 Hiện trạng hiện tại 70

Trang 6

3.2.2 Đề xuất quy trình kiểm thử hiệu năng và áp dụng cho hệ thống SAP 71

3.3 Ứng dụng quy trình kiểm thử hiệu năng 73

3.3.1 Lập kế hoạch 73

3.3.1.1 Các bước thực thi nghiệp vụ: 74

3.3.1.2 Môi trường kiểm thử 75

3.3.1.3 Công cụ kiểm thử: 77

3.3.2 Tạo kịch bản kiểm thử hiệu năng 78

3.3.2.1 Thay đổi cài đặt trên máy chủ SAP 78

3.3.2.2 Thay đổi cài đặt trên máy client 79

3.3.3 Thực hiện kiểm thử hiệu năng 80

3.3.4 Phân tích và đánh giá kết quả 81

3.3.4.1 Tóm tắt phân tích 81

3.3.4.2 Trạng thái thực hiện của các giao dịch 82

3.3.4.3 Hiệu năng của các giao dịch 83

3.3.4.4 Trung bình thời gian trả lời của mỗi giao dịch 84

3.3.4.5 Tài nguyên UNIX 86

3.4 Kết luận 86

KẾT LUẬN VÀ KIẾN NGHỊ 88

TÀI LIỆU THAM KHẢO 90

Trang 7

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi

Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác

Tác giả

Nguyễn Khánh Duy

Trang 8

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

(Systems Applications Products in Data Processing)

(Enterprise resource planning)

(International Organization for Standardization)

API :

Giao diện lập trình ứng dụng (Application Programming Interface)

(International Electrotechnical Commission)

(Graphical User Interface)

(Average Response Time)

Min : Tối thiểu (Minimum)

Avg : Trung bình (Average)

Max : Tối đa (Maximum)

SD : Tiêu chuẩn (Standard)

CNTT : Công nghệ thông tin

Trang 9

SRM : Supplier Relationship Management

PLM : Product Lifecycle Management

SCM : Supply Chain Management

DANH MỤC BẢNG

Bảng 1 1 Sự khác nhau giữa kiểm thử chức năng và kiểm thử hiệu năng 14

Bảng 2 1 Các thành phần của LoadRunner 47

Bảng 2 2 Danh sách các giao dịch giám sát và phân tích 50

Bảng 2 3 Ma trận quyết định kết quả phân tích máy chủ cơ sở dữ liệu 53

Bảng 2 4 Ma trận quyết định kết quả phân tích máy chủ ứng dụng 54

Bảng 2 5 Các yêu cầu của bộ đệm SAP 60

Bảng 2 6 Các yêu cầu phân tích tải 61

Bảng 2 7 Các yêu cầu cơ sở dữ liệu 62

Bảng 3 1 Danh sách các phân hệ được của SAP được triển khai tại VICOSTONE 67

Bảng 3 2 Đề xuất quy trình kiểm thử hiệu năng 72

Bảng 3 3 Danh sách các giao dịch được thực hiện kiểm thử 74

Bảng 3 4 Các bước thực thi nghiệp vụ 74

Bảng 3 5 Danh sách các script kiểm thử được thực hiện 78

Bảng 3 6 Thời gian phản hồi trung bình 82

Bảng 3 7 Diễn giải Hình 3 9 83

Bảng 3 8 Diễn giải Hình 3 10 84

Bảng 3 9 Diễn giải Hình 3 11 85

Bảng 3 10 Diễn giải Hình 3 12 86

Trang 10

DANH MỤC HÌNH VẼ, ĐỒ THỊ

Hình 1 1 Các nhà cung cấp giải pháp ERP trên thế giới 10

Hình 1 2 Bottom-Up Model của sự tích hợp các giai đoạn trong phương thức thực hiện của dự án SAP 19

Hình 2 1 Các bước thực hiện dự án kiểm thử hiệu năng 28

Hình 2 2 Các bước thực hiện của Lập kế hoạch (Planning) 29

Hình 2 3 Các bước thực hiện kiểm thử tải 37

Hình 2 4 Mô hình client - server 51

Hình 2 5 Danh sách hoạt động người dùng đang đăng nhập 56

Hình 2 6 Danh sách người dùng đang đăng nhập 56

Hình 2 7 Hiển thị danh sách thông báo trong Syslog 56

Hình 2 8 Cài đặt điều kiện lọc của giao dịch SM21 57

Hình 2 9 Giám sát sử dụng và trạng thái của các xử lý trong SM66 58

Hình 2 10 Giao diện khởi tạo STAD 59

Hình 2 11 Màn hình giao dịch ST05 63

Hình 2 12 Các thông tin được cung cấp bởi ST06 64

Hình 2 13 Màn hình khởi tạo giao dịch ST22 65

Hình 3 1 Mô hình triển khai kiểm thử 73

Hình 3 2 Thông tin ứng dụng SAP 75

Hình 3 3 Thông tin phiên bản cơ sở dữ liệu 76

Hình 3 4 Thông tin máy chủ ứng dụng 76

Hình 3 5 Thông tin SAP GUI 77

Hình 3 6 Cài đặt cấu hình SAP GUI cho tại client 79

Hình 3 7 Cài đặt cấu hình máy chủ SAP cho tài khoản thực hiện kiểm thử 80

Hình 3 8 Cấu hình chạy kiểm thử trên Load Controller 81

Hình 3 9 Tóm tắt thực hiện các giao dịch 83

Hình 3 10 Tóm tắt hiệu năng các giao dịch 84

Hình 3 11 Thời gian đáp ứng trung bình của giao dịch 85

Hình 3 12 Tài nguyên UNIX 86

Trang 11

MỞ ĐẦU

1 Lý do chọn đề tài

Trong những năm gần đây Việt Nam đang mở cửa ra thế giới và nhu cầu bức thiết phải hội nhập với kinh tế toàn cầu Các ứng dụng của Công nghệ thông tin giúp quản trị doanh nghiệp hoạt động hiệu quả hơn, một số ứng dụng thường được triển khai trong doanh nghiệp như:

- Phần mềm hải quan VNACCS

- Phần mềm kế toán (FAST, MISA, …)

- Phần mềm quản lý Nhân sự, chấm công, tiền lương

- Hệ thống Hoạch định nguồn lực doanh nghiệp (ERP)

- Hệ thống Quản lý nhân lực (HRM)

- …

Trong khuôn khổ của luận văn, tác giả nghiên cứu về kiểm thử hiệu năng cho

hệ thống Hoạch định nguồn lực doanh nghiệp (ERP)

Có nhiều Công ty cung cấp các phần mềm cho doanh nghiệp như SAP, Microsoft, Oracle, … Theo [13] số liệu thống kê năm 2013 cho thấy ERP do SAP cung cấp hiện tại được sử dụng nhiều nhất trên thế giới

Trang 12

Hình 1 1 Các nhà cung cấp giải pháp ERP trên thế giới

SAP là tập đoàn cung cấp các giải pháp CNTT lớn nhất thế giới, SAP có nhiều giải pháp cho doanh nghiệp như ERP, CRM, SCM, SRM, PLM

Các ứng dụng lõi của SAP ERP bao gồm các thành phần:

 Hậu cần (Logistics)

Bán hàng và phân phối (Sales & Distribution)

Quản lý vật tư (Materials Management)

Kế hoạch sản xuất (Production Planning)

Bảo trì nhà máy (Plant Maintenance)

Quản lý chất lượng (Quality Management)

 Tài chính (Finance)

Kế toán tài chính (Financial Accounting)

Trang 13

Kế toán quản lý (Managerial Accounting)

Quản lý tài sản (Asset Management)

Kho bạc (Treasury)

 Quản lý nguồn nhân lực (Human Capital Management)

Quản lý con người (Personnel Management)

Các lợi ích (Benefits)

Tiền lương (Payroll)

SAP ERP đã trở thành công cụ quản lý để điều hành doanh nghiệp Con người là nhân tố chính dẫn tới thành công trong một dự án ERP Đây cũng là nơi xảy ra nhiều rủi ro nhất khi quản trị dự án trong nền kinh tế phát triển nhanh như hiện nay.Việc đảm bảo hệ thống hoạt động ổn định, đáp ứng được nhu cầu sử dụng của người dùng là vấn đề thiết yếu của ứng dụng

2 Mục đích của đề tài

Mục đích nghiên cứu của Luận văn này gồm: nghiên cứu phương pháp kiểm thử hiệu năng một cách tự động cho hệ thống SAP ERP được triển khai tại doanh nghiệp, từ đó đưa ra các giải pháp giúp doanh nghiệp có các biện pháp cải thiện hiệu năng của hệ thống nhằm hạn chế thấp nhất rủi ro khi sử dụng ứng dụng

3 Đối tượng và phạm vi nghiên cứu

- Hệ thống SAP, ngôn ngữ lập trình ABAP

- Kỹ thuật kiểm thử hiệu năng cho SAP ERP

- Đặc tả thiết kế kiểm thử hiệu năng

4 Phương pháp nghiên cứu

- Nghiên cứu, tìm hiểu kỹ thuật lập trình trên hệ thống SAP ERP sử dụng ngôn ngữ lập trình ABAP và quy trình kiểm thử hiệu năng cho dự án SAP ERP

- Sử dụng phương pháp kiểm thử hiệu năng đã nghiên cứu, thiết kế bộ kiểm thử cho các chức năng cụ thể Đưa ra tài liệu kế hoạch, đặc tả và xây dựng chương trình thực thi kiểm thử

Trang 14

5 Bố cục luận văn

CHƯƠNG I: KIỂM THỬ PHẦN MỀM

CHƯƠNG II: PHƯƠNG PHÁP KIỂM THỬ HIỆU NĂNG CHO SAP

CHƯƠNG III: ÁP DỤNG THỬ NGHIỆM PHƯƠNG PHÁP KIỂM THỬ HIỆU NĂNG TRÊN CÁC ỨNG DỤNG TẠI CÔNG TY VICOSTONE

Trang 15

CHƯƠNG I: KIỂM THỬ PHẦN MỀM

1.1 Kiểm thử phần mềm

Kiểm thử phần mềm là một cuộc kiểm tra được tiến hành để cung cấp cho các bên liên quan thông tin về chất lượng của sản phẩm hoặc dịch vụ được kiểm thử Kiểm thử có thể cung cấp cho doanh nghiệp một quan điểm, một cách nhìn độc lập về phần mềm để từ đó cho phép đánh giá và thấu hiểu được những rủi ro trong

quá trình triển khai phần mềm [1]

 Mục tiêu của kiểm thử phần mềm

Mục tiêu của kiểm thử phần mềm là để kiểm tra hoặc nâng cao chất lượng phần mềm nhằm đảm bảo rằng giải pháp đưa ra phù hợp với yêu cầu của khách hàng Các trường hợp và yêu cầu thử nghiệm dựa trên các đặc điểm cơ sở chất lượng đã được quy định Các tiêu chuẩn và định mức, như tiêu chuẩn ISO/IEC

25000 được sử dụng để xác định tiêu chí tương ứng [4] Các tiêu chí dựa trên các đăc điểm sau:

Một trong những câu hỏi quan trọng được đưa ra trong bối cảnh kiểm thử

phần mềm là “liệu các thử nghiệm thực thi có chạy đúng như yêu cầu?”

Trang 16

 Kiểm thử chức năng

Kiểm thử chức năng tập trung kiểm tra chức năng của ứng dụng đó có hoạt động đúng như khách hàng mong đợi không? Khi thực hiện kiểm tra dựa vào các tài liệu yêu cầu hoặc tài liệu mô tả chi tiết để kiểm tra

 Kiểm thử hiệu năng

Kiểm thử hiệu năng được thực hiện để xác định hệ thống thực hiện một khối lượng công việc cụ thể nhanh thế nào Kiểm thử hiệu năng có thể dùng để xác nhận

và xác minh những thuộc tính chất lượng khác của hệ thống như khả năng mở rộng,

độ tin cậy và sử dụng tài nguyên [10]

Kiểm thử hiệu năng được thực hiện trong quá trình thực hiện dự án, là một trong những phần kiểm tra quan trong nhất trong kiểm thử kỹ thuật của hệ thống

mềm

Kiểm thử chức

năng

Kiểm thử hiệu năng Trả về kết quả trong thời gian dự kiến Tính hiệu quả

Bảng 1 1 Sự khác nhau giữa kiểm thử chức năng và kiểm thử hiệu năng

Trong Bảng 1.1 chúng ta thấy có hai loại kiểm thử khác nhau ở các khía cạnh

lý thuyết của chính nó, các yêu cầu kiểm thử khác nhau cũng ảnh hưởng đến các khía cạnh thực tế của các phần kiểm thử Các thủ tục, phương pháp, và các công cụ được sử dụng để kiểm thử hiệu năng khác so với kiểm thử chức năng Trong phạm

vi của luận văn tôi sẽ nói chủ yếu về kiểm thử hiệu năng

1.2 Kiểm thử hiệu năng phần mềm

 Khái niệm kiểm thử hiệu năng

Trang 17

Có nhiều định nghĩa về kiểm thử hiệu năng Theo [12], kiểm thử hiệu năng là hành động kiểm định, đánh giá phần mềm, một thành phần hoặc phần cứng có đúng với yêu cầu về hiệu năng và tối ưu hóa hiệu năng của nó

 Tầm quan trọng của kiểm thử hiệu năng

Kiểm thử hiệu năng là hoạt động cần thiết cho việc phát triển những giải pháp tối ưu hóa hiệu năng cho phần mềm Kiểm thử hiệu năng giúp chúng ta tránh được các trường hợp không lường trước được khi triển khai ứng dụng trong môi trường thực tế

 Các thuật ngữ trong kiểm thử hiệu năng

Theo [11], một số thuật ngữ hay được sử dụng trong kiểm thử hiệu năng:

Thời gian nghĩ (think time): là khoảng thời gian người sử dụng nắm bắt nội

dung của ứng dụng (web hoặc application) hoặc là thời gian người dùng thực hiện hành động tương tác với hệ thống như nhấp vào một đường dẫn, nút, gọi hoặc thực hiện một giao dịch, v.v…

Tải người sử dụng đồng thời (simultaneous user load): là tải nhiều người

đồng thời cùng sử dụng ứng dụng, tại cùng một thời điểm bất kỳ mỗi người thực hiện một tương tác khác nhau

Tải người dùng sử dụng đồng thời thực hiện một hành động (concurrent

user load): là tải nhiều người đồng thời cùng một thời điểm bất kỳ mỗi người thực hiện một tương tác khác nhau

Yêu cầu/mục đích hiệu năng (performance requirements/goals): là định

lượng đưa ra tiêu chí cho rằng hiệu năng của hệ thống là tốt Yêu cầu hiệu năng của một ứng dụng được thể hiện trong thời gian phản hồi, số lượt truy cập của hệ thống

là tốt Yêu cầu hiệu năng của một ứng dụng được thể hiện trong thời gian phản hồi,

số lượt truy cập trong 1 giây (hits), số giao dịch được thực hiện torng 1 giây, v.v…

Trang 18

Tải công việc (workload): là tải người sử dụng hệ thống trong thời gian thực

khi người sử dụng đang truy cập hoặc trong khi thực hiện kiểm thử hiệu năng

Hit: là yêu cầu gửi về máy chủ để truy cập vào một trang web hoặc một tập

tin hoặc một ảnh từ máy chủ web hoặc ứng dụng

Thông lượng (throughput): là tổng dữ liệu (bytes) được chuyển từ máy chủ

tới máy khách để phục vụ yêu cầu người dùng

 Các loại kiểm thử hiệu năng

Kiểm thử cơ sở (baseline test): là kiểm thử được xây dựng đánh giá hiệu

năng ứng dụng với tải một người sử dụng [11] Kịch bản kiểm thử có thể được tạo

ra với thời gian nghĩ (think time) trong thực tế và những cài đặt khác giống sử dụng trong thời gian thực

Kiểm thử chuẩn (benchmark test): kiểm thử chuẩn là kiểm thử được tiến

hành để đo lường hiệu năng của ứng dụng trong một điều kiện tải thấp Thông thường kiểm thử chuẩn chiếm 15-20% mức tải mục tiêu [11]

Kiểm thử tải (load test): được thực hiện xác định hiệu năng hệ thống với

điều kiện tải nhiều người sử dụng đồng hệ thống như trong thực tế Nó được xây dựng với mục đích tìm ra hiệu năng hệ thống trong điều kiện tải xác định [11]

Kiểm thử áp lực (stress test): là kiểm thử được tiến hành bằng cách kiểm

thử hệ thống trong điều kiện tải bất hợp lý để xác định điểm dừng (breakpoint) của

hệ thống [11]

Kiểm thử Spike (Spike test): kiểm thử này rất giống kiểm thử áp lực (stress

test) nhưng hệ thống được đặt trong một thời gian ngắn [11] Kiểm thử giúp xác nhận hiệu năng hệ thống trong điều kiện tải cao đột ngột trong giờ giao dịch cao điểm của ứng dụng

Trang 19

Kiểm thử chịu đựng (endurance test): kiểm thử này tập trung vào đánh giá

hiệu năng của hệ thống với mức tải sử dụng được định mức trong khoảng thời gian kéo dài Kiểm thử chịu đựng chạy với 70-80% của tại mục tiêu, trong kịch bản có cài đặt thời gian giống như trong thực tế

Kiểm thử cô lập (isolation test): là kiểm thử được thực hiện trên hệ thống

hoặc một thành phần cụ thể để tìm ra các vấn đề và nguyên nhân ảnh hưởng đến hiệu năng của hệ thống [11]

Kiểm thử khối lượng (volume test): là kiểm thử hiệu năng cho hệ thống khi

nó phải thao tác với một lượng dữ liệu nhất định Số lượng này có thể là kích thước bản ghi dữ liệu hoặc nó cũng có thể là kích thước của một tập tin

 Công cụ kiểm thử hiệu năng

Có rất nhiều phần mềm kiểm thử hiệu năng trên thị trường Nó có thể được chia thành hai loại chính: phần mềm mã nguồn mở và phần mềm có bản quyền Trong khuôn khổ luận văn, tôi xin nói qua một số phần mềm như sau:

Phần mềm mã nguồn mở:

JMeter: là một công cụ chuyên dùng để kiểm tra hiệu năng của các ứng

dụng web, được viết bằng Java, JMeter có thể hoạt động trên các hệ điều hành có hỗ trợ JVM (Java Virtual Machine) phiên bản 1.4 trở lên JMeter không đòi hỏi kiến thức lập trình chuyên sâu để sử dụng Hiện nay ứng dụng này đã được cải tiến để có thể đo lường hiệu năng hoạt động của các đối tưởng và các giao thức như: HTTP, HTTPS, SOAP, JDBC, LDAP, JMS, POP3, …

Selenium: (http://seleniumhp.org) Selenium gồm một bộ các công cụ hỗ trợ kiểm tra tự động tính năng của ứng dụng web, bao gồm: Selenium IDE, Selenium Remote Control (RC), Selenium Core và Selenium Grid Bộ công cụ này hoạt động tốt trên nhiều hệ điều hành và có thể thực hiện kiểm tra trực tiếp trên các trình duyệt web khác nhau

Trang 20

Phần mềm có bản quyền:

IBM Rational ® Perfomance Tester: là một công cụ tạo ra, thực hiện và

phân tích các phép kiểm thử hiệu năng Nó giúp các đội phát triển kiểm tra và xác nhận khả năng mở rộng và độ tin cậy của các ứng dụng trên nền Web của họ trước khi triển khai Các kết quả tương tác của ta được lưu lại trên hệ điều hành mà ta chọn (Windows hoặc Linux) Ta có thể mở rộng Bộ kiểm thử hiệu năng để kiểm thử hiệu năng của các ứng dụng như Siebel, SAP, và Citrix

HP LoadRunner: Mercury LoadRunner là công cụ Kiểm thử tự động thực

hiện việc kiểm tra hiệu năng của phần mềm Nó cho phép chúng ta tìm ra những lỗi

về khả năng thực thi bằng việc phát hiện ta nguyên nhân, chỗ làm cho phần mềm chạy chậm hoặc không đúng yêu cầu Đây là công cụ mạnh với giải pháp kiểm tra tải, phát hiện và đưa ra giải pháp cải tiến Ứng dụng LoadRunner sẽ giúp giảm thời gian viết kịch bản kiểm thử (test script) đến 80%, đó là nhờ nó cung cấp chức năng

tự động phát sinh kịch bản (script) mô tả lại các tình huống muốn kiểm tra

Trong khuôn khổ của luận văn, tôi lựa chọn công cụ HP LoadRunner để thực hiện việc kiểm thử tự động cho hệ thống SAP

1.3 Mô hình kiểm thử cho dự án SAP

Chiến lược từ dưới lên trên (bottom-up strategy) Không có ngoại lệ cho kiểm tra chức năng trong môi trường SAP Như vậy sự tích hợp kiểm thử dựa trên phân loại không chỉ là dựa trên lý thuyết nó cũng có thể được áp dụng cho các giai đoạn của dự án Mô tả các giai đoạn thử nghiệm khác với mô tả của một mô hình quy trình Các giai đoạn riêng đơn thuần là mô tả bản chất của việc thử nghiệm để kiểm thử các trường hợp tương ứng với mỗi giai đoạn cụ thể của dự án Quá trình thực hiện một dự án thực hiện với những giai đoạn thử nghiệm và các mô tả của các quá trình thử nghiệm [10]

 Kiểm thử phát triển (Developer Test)

Trang 21

Các kiểm thử đầu tiên được thực hiện là kiểm thử phát triển Các cuộc kiểm thử được thực hiện bởi nhà phát triển Kiểm thử phát triển được thực hiện ở cấp độ

kỹ thuật thấp nhất và có thể bao gồm một loạt các hoạt động thử nghiệm, chẳng hạn như kiểm tra khả năng thực thi, kết quả tạm thời giữa các mã, thử nghiệm module chức năng cá nhân hoặc các giao dịch được thực hiện Trong phương pháp kiểm thử phát triển của dự án SAP thường được coi như một phần của hoạt động phát triển

Kiểm thử quy hồi

Kiểm thử chuẩn bị hoạt động chính thức

Triển khai

Triển khai

Hình 1 2 Bottom-Up Model của sự tích hợp các giai đoạn trong phương thức thực

hiện của dự án SAP

 Kiểm thử đơn vị (Unit Test)

Kiểm thử đơn vị còn được hiểu là kiểm thử module, thường đại diện cho mức thấp nhất của kiểm thử chức năng trong môi trường SAP Một kiểm thử đơn vị kiểm tra một giao dịch (transaction) hoặc module chức năng riêng Nó tập trung chủ yếu vào chức năng thực hiện chứ không phải là giao diện và tích hợp [10]

Trang 22

 Kiểm thử kịch bản (Scenario test)

Kiểm thử kịch bản thử nghiệm một số giao dịch liên quan Mục đích của kiểm thử này là kiểm tra các giao dịch được thực hiện trong quy trình hoạt động kinh doanh trong nhiều lĩnh vực Kịch bản kiểm tra tập trung vào sự tương tác giữa các giao dịch cá nhân và giao diện của họ, có thể lặp đi lặp lại để tổng hợp được kịch bản lớn cuối cùng từ các kịch bản nhỏ Dựa trên kinh nghiệm của các chuyên gia, kiểm thử kịch bản thường chạy như một phần mở rộng của kiểm thử đơn vị trong dự án SAP [10]

 Kiểm thử tích hợp (Integration test)

Kiểm thử tích hợp đại diện cho bước cuối cùng trong việc đảm bảo tính chính xác của chức năng Nó kiểm tra sự tích hợp các giải pháp SAP với các ứng dụng phi-SAP (non-SAP) và giao diện hệ thống Quy trình nghiệp vụ của doanh nghiệp được ánh xạ trong các kịch bản end-to-end, phần mềm được kiểm thử theo các kịch bản chéo module (cross-module) và hệ thống (cross-system) [10]

 Kiểm thử kỹ thuật hệ thống (Technical System test)

Kiểm thử hệ thống được biết đến trong môi trường SAP là kiểm tra hệ thống

kỹ thuật, bao gồm nhiều thành phần, ví dụ như cơ sở hạ tầng, dưới sự kiểm tra của quá trình kiểm thử thay vì chú ý vào chức năng của phần mềm kiểm thử kỹ thuật hệ thống kiểm tra toàn bộ hệ thống bao gồm các cơ sở dữ liệu, máy chủ ứng dụng, mạng, máy in, … [10]

 Kiểm thử hiệu năng (Performance tests)

Kiểm thử hiệu năng là một trong những bước quan trọng nhất của kiểm thử

kỹ thuật hệ thống, là các biện pháp đo lường thời gian đáp ứng của hệ thống Kiểm thử hiệu năng rất quan trọng bổ sung thời gian kiểm thử chức năng đáp ứng nhiều giao dịch hoạt động kinh doanh Các ứng dụng được thử nghiệm phải có chức năng chính xác trước khi có thể thực hiện kiểm thử hiệu năng [10]

Trang 23

 Kiểm thử người dùng chấp nhận (User Acceptance test)

Ngoài thời gian đáp ứng, một yếu tố rất quan trọng được bao gồm trong kiểm thử trước khi hệ thống đi vào hoạt động chính thức (GO-LIVE) là sự chấp nhận của người sử dụng trước giải pháp được cung cấp Kiểm thử chấp nhận của người dùng không thể tự thực hiện tự động, giống như kiểm thử tích hợp đòi hỏi nhiều thời gian

và công sức thực hiện Mục tiêu chính của kiểm thử người dùng chấp nhận là để phát hiện các vấn đề sử dụng, chủ yếu là trong các phần thiết kế giao diện và thời gian hệ thống đáp ứng [10]

 Kiểm thử qui hồi (Regression Test)

Mục đích của kiểm thử quy hồi là để đảm bảo rằng không có ảnh hưởng của việc không có kế hoạch được đưa ra hoặc đột xuất về các chức năng và quy trình kinh doanh bị ánh xạ theo khi có thay đổi liên quan đến kỹ thuật Trong môi trường SAP, kiểm tra quy hồi thường được yêu cầu sau khi thay đổi định hướng CNTT [10]

Kiểm tra quy hồi cũng được yêu cầu sau khi định hướng kinh doanh thay đổi, chẳng hạn như thay đổi mô hình của quy trình kinh doanh trong hệ thống hoặc thay đổi từ các thiết lập tùy biến Một kiểm thử quy hồi không đại diện cho một cấp độ cao hơn của sự tích hợp Trong thực tế, loại kiểm thử này thường được giới hạn trong một sự lặp lại của kiểm thử tích hợp, dựa trên các mẫu hoặc trên phạm vi đầy

đủ của kiểm thử

1.4 Kết luận

Trong chương này, ta đi vào tìm hiểu để có cái nhìn tổng quan về kiểm thử phần mềm, phân loại kiểm thử dựa vào các yếu tố: các dạng kiểm thử, kỹ thuật kiểm thử và mô hình kiểm thử cho dự án SAP

- Các dạng kiểm thử ta chia thành kiểm thử chức năng và kiểm thử hiệu năng

Trang 24

- Dựa vào kỹ thuật kiểm thử ta có thể chia thành hai loại: kiểm thử hộp đen và kiểm thử hộp trắng

- Mô hình kiểm thử cho dự án SAP gồm các giai đoạn:

o Kiểm thử quy hồi

Chương II sẽ đi tìm hiểu khái quát về quy trình kiểm thử hiệu năng trên SAP,

sử dụng công cụ kiểm thử hiệu năng LoadRunner và các giao dịch SAP chuẩn dùng

để giám sát, phân tích kiểm thử

Trang 25

CHƯƠNG II: PHƯƠNG PHÁP KIỂM THỬ HIỆU NĂNG CHO SAP

2.1 Quy trình kiểm thử hiệu năng trên SAP

Kiểm thử hiệu năng thường dùng để nói về một thử nghiệm để kiểm tra các yêu cầu phi kỹ thuật của một hệ thống cả trong hoạt động của đơn người dùng và đa người dùng [10] Tùy thuộc vào mục đích của thử nghiệm, ta cần phân biệt sự khác nhau giữa các cá thể

Mục đích của phép đo đơn người dùng là có được một "trường hợp tốt nhất"

về hiệu năng của hệ thống, nó có thể được giả định rằng thời gian đáp ứng trong hoạt động đa người dùng song song không bao giờ có thể tốt hơn so với đơn người

dùng Nếu các thực thi của hệ thống quan sát được là "quá kém" có nghĩa là nó

không đáp ứng được các tiêu chí xác định hiệu suất chính, hệ thống phải được tối

ưu hóa trước khi thực hiện kiểm tra tải hay thường được gọi là kiểm thử sức chịu đựng (độ bền)

Mục đích của kiểm tra sức chịu đựng là mô phỏng các điều kiện hoạt động thực tế Trong mục này, một bài kiểm tra sức chịu đựng khác so với một bài kiểm tra (độ) tính tin cậy Trong phần này, hệ thống được đặt dưới một tải, nhưng điều này thực hiện là để có vượt quá điều kiện hoạt động thực tế và theo cách này xác định các giới hạn của hệ thống

Nếu trọng tâm của kiểm tra hiệu năng là xử lý một lượng lớn dữ liệu điều đó

có nghĩa là việc xử lý này được gọi là kiểm thử khối lượng

 Mục đích của kiểm thử

Các mục đích kiểm thử của kiểm thử hiệu năng có thể được bắt nguồn trực tiếp từ những vấn đề sau [10]:

- Tính sẵn sàng của hệ thống dưới tải

- Tính ổn định của chức năng dưới tải

- Thời gian đáp ứng có thể chấp nhận cho người sử dụng

Trang 26

- Tuân thủ các hạn chế thời gian và mức độ dịch vụ cho các quy trình kinh doanh

- Xác định các vấn đề trong cả cơ sở hạ tầng và ứng dụng

2.1.1 Load Test – Stress Test – Volume Test

 Kiểm thử tải – Load Test

Kiểm thử tải là một quá trình thêm nhu cầu vào một hệ thống hoặc thiết bị và

đo lường phản ứng của nó Kiểm thử tải được thực hiện để xác định sự đáp ứng của

hệ thống trong các điều kiện tải bình thường và cao hơn điều kiện tải dự kiến Nó

giúp xác định công suất vận hành tối đa của một ứng dụng như các điểm “thắt cổ

chai” (bottleneck) và xác định phần tử nào là nguyên nhân gây ra điều đó Khi mức

tải trên hệ thống vượt ra ngoài những cách thức sử dụng bình thường, để kiểm tra sự đáp ứng của hệ thống ở những điểm cao bất thường hoặc điểm tải cao – thì được gọi

là stress testing Phần lớn mức tải thường là các điều kiện lỗi và kết quả mong đợi

từ các điều kiện này, không tồn tại một ranh giới rõ ràng khi một hành động này chuyển dần từ load test trở thành stress test

 Kiểm thử tính ổn định – Stress Test

Kiểm thử tính ổn định là một hình thức kiểm thử được sử dụng để xác định tính ổn định của một hệ thống hoặc một thực thể được đưa ra Nó liên quan đến những kiểm thử vượt quá khả năng bình thường của hệ thống, thường để xác định điểm quá tải, để quan sát các kết quả Kiểm thử tính ổn định có thể có nghĩa cụ thể hơn trong một số ngành công nghiệp nhất định, như là kiểm thử tính mỏi của vật liệu

 Kiểm thử khối lượng – Volume Test

Kiểm thử khối lượng thuộc về nhóm kiểm thử phi chức năng, nó thường bị hiểu nhầm hoặc dùng thay thế cho loại kiểm thử khác Kiểm thử khối lượng đề cập tới việc kiểm thử phần mềm, ứng dụng với một lượng dữ liệu nhất định Số lượng

Trang 27

này có thể là kích thước cơ sở dữ liệu hoặc nó cũng có thể là kích thước của 1 tập tin giao tiếp là đối tượng của volume testing Ví dụ, nếu bạn muốn thực hiện kiểm thử khối lượng cho ứng dụng của bạn với kích thước dữ liệu cụ thể, bạn sẽ mở rộng

dữ liệu của bạn tới một kích thước này rồi thực hiện kiểm thử hiệu năng của ứng dụng trên dữ liệu đó Một ví dụ khác là khi có những yêu cầu ứng dụng của bạn tương tác với một tệp tin giao tiếp (có thể bất cứ file nào như là dat, xml) những tương tác này có thể là đọc và/hoặc ghi trên file Bạn sẽ tạo một file mẫu có kích thước bạn muốn và sau đó kiểm thử chức năng của ứng dụng với file đó kiểm thử hiệu năng

2.1.2 Vai trò các thành phần tham gia dự án kiểm thử hiệu năng

Một khía cạnh quan trọng của việc lập kế hoạch và thực hiện một dự án kiểm thử hiệu năng là xác định và phân công vai trò của các thành phần tham gia Cần lưu ý rằng các đặc điểm thực tế của từng vai trò phụ thuộc vào từng dự án tương ứng Tùy thuộc vào cấu trúc và số lượng người tham gia trong dự án, một vai trò có thể được giao cho một người hoặc một nhóm người Trong các dự án nhỏ, một người có thể được chỉ định nhiều vai trò

Có một số vai trò tiêu chuẩn được đưa ra trong mỗi dự án kiểm thử hiệu năng, có thể giao cho khách hàng hoặc những người bên ngoài Sau đây là các vai trò tiêu chuẩn [10]:

 Khách hàng

Khách hàng phải đồng ý các bước thực hiện của dự án Những bước này bao gồm các định nghĩa của các mục tiêu kiểm thử, kế hoạch thực hiện dự án và kết quả kiểm thử Khách hàng chủ yếu làm việc với người đứng đầu nhóm kiểm thử

 Người đứng đầu nhóm kiểm thử

Người đứng đầu nhóm kiểm thử có trách nhiệm điều phối, thực hiện kiểm thử và có trách nhiệm quản lý dự án kiểm thử hiệu năng Người này phối hợp và

Trang 28

kiểm soát từng bước dự án Thông thường, người đứng đầu xác định các mục tiêu, tiêu chí kiểm thử và phối hợp với người dùng hoặc người vận hành hệ thống, thiết

kế các yêu cầu của dự án, tạo các báo cáo

Vai trò này có thể được giao cho một nhân viên nội bộ hay bên ngoài

 Nhà phát triển kịch bản

Công việc của các nhà phát triển kịch bản bao gồm việc thực thi các thông số

kỹ thuật từ các phân tích kỹ thuật tải và liên kết hồ sơ tải đã được xác định theo cách này bằng cách thực tế nhất, có thể sử dụng các công cụ kiểm tra hiệu năng để thực hiện Để đạt mục đích này, họ ghi lại kịch bản kiểm thử theo các thông số kỹ thuật quy định trong các bản mô tả kiểm thử Trách nhiệm của các nhà phát triển kịch bản bao gồm đưa ra các tham số, thành phần của kịch bản vào kịch bản thử nghiệm Nhà phát triển kịch bản cũng tích hợp việc giám sát ứng dụng vào điều khiển thực hiện của các công cụ kiểm thử tải

Công việc của một nhà phát triển kịch bản chủ yếu đòi hỏi sự hiểu biết các công nghệ liên quan đến các công cụ thực hiện Vì lý do này, vai trò của một nhà phát triển kịch bản thường được giao cho các chuyên gia bên ngoài

 Người sử dụng chính (Key user)

Người sử dụng chính chủ yếu chịu trách nhiệm chuyển các yêu cầu kinh doanh từ các bộ phận sử dụng tới các nhóm dự án Họ chủ yếu chịu trách nhiệm tạo

ra các hồ sơ sử dụng, phân tích quy trình, xác định và thu thập dữ liệu các thử nghiệm cần thiết

Người sử dụng chính là người có kinh nghiệm như nhân viên công ty từ các

bộ phận sử dụng ở phía khách hàng hoặc nhà tư vấn có kiến thức tương ứng với doanh nghiệp

 SAP Basis

Trang 29

Các thành viên của SAP Basis có trách nhiệm cung cấp và hỗ trợ kỹ thuật cho dự án Họ cung cấp hệ thống thích hợp để kiểm thử, các tài khoản người dùng, phân quyền và chuẩn bị môi trường cho việc tích hợp và sử dụng các công cụ kiểm thử tải vào hệ thống Họ sẽ trở nên rất cần thiết nếu thay đổi hệ thống kiểm thử trong quá trình kiểm thử dự án Các SAP Basis kiểm tra tính khả thi của những thay đổi, nếu có thể họ thực hiện các thay đổi đấy

- Thực hiện kiểm thử tải (Performing Load Test)

- Thực hiện kiểm thử tính ổn định (lựa chọn) (Performing Stress Test)

- Hoàn thiện

Trang 30

Lập kế hoạch Thực hiện

kiểm thử tải

Thực hiện kiểm thử tính ổn định

 Thực hiện kiểm thử tải (Performing Load Test)

Thực hiện kiểm thử tải bao gồm việc cung cấp dữ liệu và hệ thống cũng như việc chạy thử nghiệm với tải của hệ thống khác nhau Phân tích các kết quả kiểm thử, nếu cần thiết thì thực hiện tối ưu hóa Điều này có nghĩa là ta cần thực hiện quy

trình: “thực hiện -> phân tích -> tối ưu hóa” nhiều lần

 Thực hiện kiểm thử tính ổn định (Performing Stress Test)

Việc kiểm thử tính ổn định này là tùy chọn, có thể thực hiện hoặc không thực hiện, kiểm thử tính ổn định có thể được thực hiện sau khi kiểm thử tải Các bài kiểm thử này được sử dụng để đo hệ thống và có được thông tin dữ liệu của hệ thống ở các mức ranh giới

2.1.4 Lập kế hoạch

Trang 31

Bước đầu tiên của dự án kiểm thử hiệu năng bao gồm: phân tích quy trình, phân tích dữ liệu và lựa chọn các công cụ kiểm thử tải Các hoạt động này có thể thực hiện song song Trong mọi trường hợp, ta nên thực hiện quá trình phân tích đầu tiên bởi vì kết quả của nó được sử dụng để lấy thông tin giúp việc phân tích dữ liệu và lựa chọn công cụ một cách chính xác

Phân tích quy trình

T Phân tích dữ liệu Lựa chọn công cụ

Hình 2 2 Các bước thực hiện của Lập kế hoạch (Planning)

2.1.4.1 Phân tích quy trình (Process Analysis)

Trong quá trình phân tích quy trình, phải xác định và ưu tiên các quy trình quan trọng của doanh nghiệp Sau đó, phải xác định mục tiêu hiệu năng cho mỗi quá trình có liên quan hoặc từng bước của quy trình [10] Ví dụ: kết quả của hiệu năng cho các giao dịch là thời gian đáp ứng trung bình cho người dùng cuối Đối với các xử lý chạy ngầm, cần xác định một mức nhỏ nhất và thông lượng trung bình Nếu cần thiết phải có thời gian xử lý cụ thể

 Phương pháp thô sơ

Theo quy tắc ngón tay cái, ta có thể nói rằng một bài kiểm thử tải không nên nhiều hơn 10 quy trình Điều này có nghĩa là năm quy trình thường xuyên được sử

Trang 32

dụng nên được thử nghiệm đầu tiên bởi vì nó có ảnh hưởng lớn nhất về lượng tải được tạo ra Trong bối cảnh này, ta cũng nên đưa vào các báo cáo về tài khoản đó

để biết được mức độ ảnh hưởng lớn đến hiệu suất tổng thể, khối lượng dữ liệu được

kỳ vọng có thể thực hiện, ngay cả khi các báo cáo này ít khi được sử dụng

Ngoài năm quy trình thường xuyên được sử dụng nhất, ta cũng nên đánh giá các quy trình còn lại nhằm đảm bảo hiệu suất của chúng

 Các yếu tố ảnh hưởng tới hồ sơ tải

Số lượng người dùng hoạt động đồng thời có ảnh hưởng rõ ràng nhất, sự phân bố theo thời gian tải cũng có ảnh hưởng lớn đến hành vi thời gian chạy của các giao dịch Tương tự vậy, quá trình chạy ngầm cũng ảnh hưởng đến hành vi của hệ thống và do đó cũng nên được xem xét

Điều quan trọng chúng ta phải phân biệt được giữa tải được gây ra bởi người

sử dụng và tải gây ra bởi quá trình chạy ngầm Trên hệ thống chủ yếu bao gồm hai

loại tải này Phân biệt được hai loại tải này rất có ích cho việc giả định rằng hai loại tải này xảy ra vào các thời điểm khác nhau Người sử dụng chủ yếu làm việc trong giờ làm việc 08:00 – 18:00 trong khi quá trình ngầm thường chạy bên ngoài khoảng thời gian đấy (22:00 – 06:00) Nếu có một sự khác biệt rõ ràng như vậy tồn tại, ta có thể xem xét từng loại tải một cách riêng biệt Ưu điểm của việc này là hồ sơ tải được đơn giản hóa, đỡ phức tạp hơn

Tuy nhiên, có những yếu tố khó khăn để tách các loại tải này riêng Nếu một

hệ thống sử dụng các múi giờ khác nhau, tải trọng sử dụng của người dùng có thể sẽ được phân phối đồng đều hơn và trùng với quá trình chạy ngầm

 Hồ sơ tải (Load Profile)

Để phân tích tải hộp thoại, đầu tiên ta phải ước lượng một cách thực tế nhất

có thể khi giao dịch được gọi, mức độ thường xuyên có bao nhiêu người sử dụng trong một thời gian nhất định (thường là một giờ) Khi làm như vậy, ta phải chú ý

Trang 33

đến sự biến thiên thời gian của các tải phụ trong quá trình của mỗi giao dịch được xem xét

 Hệ thống cũ hiện tại (Legacy system)

Nếu tồn tại một hệ thống đã được sử dụng cho mục đích tương tự trước khi triển khai ứng dụng SAP, ta có thể sử dụng các số liệu thống kê từ hệ thống đó như

là một cơ sở cho việc phân tích tải Điều này có thể được thực hiện mà không có vấn đề nếu hệ thống cũ là hệ thống SAP Nếu hệ thống là một hệ thống của bên thứ

ba, ta phải kiểm tra xem dữ liệu có thể được đọc và chuyển sang hệ thống mới mà không có vấn đề gì phát sinh không Tính sẵn có của hệ thống cũ giúp đưa ra các kịch bản lý tưởng để tạo hồ sơ tải Nó làm cho việc thực hiện ước tính dễ dàng hơn bởi vì ta có thể căn cứ vào số liệu tính toán thực sự của Công ty

 Ước tính (Estimate)

Nếu không có hệ thống cũ để so sánh, ta phải thực hiện các ước tính dựa trên môt hình tổ chức Sau đây là những bước quan trọng nhất liên quan đến quá trình này:

- Xác định các quy trình cốt lõi: những giao dịch này được sử dụng thường xuyên nhất, và mức độ sử dụng như thế nào

- Phân công nhóm người sử dụng các ứng dụng Ai sẽ là người sử dụng ứng dụng (Ví dụ: phân hệ Bán hàng, Quản lý vật tư, Kế toán, …) vào những thời gian nào, sử dụng bao nhiêu lâu?

- Hoàn thiện các nhóm người sử dụng Ai sẽ là người thực hiện chức năng nào, mức độ ra sao (Ví dụ: người nhập hóa đơn, người phê duyệt hóa đơn, …)? Quá trình này là rất quan trọng bởi các hoạt động khác nhau được đồng bộ với nhau một cách cẩn thận

 Tải trọng tối đa (Peak load)

Trang 34

Một trong những phương pháp điển hình để xác định tải trọng tối đa là thực hiện đồng thời nhiều tải trọng khác nhau Ví dụ: một bộ phận người sử dụng có thể cung cấp thông tin cho thấy số lượng dữ liệu đưa lên chủ yếu vào thứ Sáu, vào cuối quý, và trước khi nghỉ lễ Thông tin này cho phép ta xác định tải trọng tối đa dựa trên sự chồng chéo của các tải (Thứ sáu kết thúc quý, thứ hai tiếp theo là ngày lễ) Trong một số trường hợp các yếu tố có ảnh hưởng rất khác nhau được cụ thể cho các ngành công nghiệp hoặc công ty bởi các câu hỏi và chỉ có thể được mô tả lại bởi người sử dụng

 SAP Quick Sizer

Đây có thể là bước hữu ích đầu tiên khi chúng ta muốn tạo ra một dự báo phụ tải dựa trên các thông tin được cung cấp bởi SAP Quick Sizer Công cụ này cho phép dự đoán những gì phần cứng sẽ được yêu cầu dựa trên dữ liệu lấy từ các hoạt động trực tiếp hoặc dựa trên dữ liệu đã có sẵn Mặc dù dữ liệu được ghi lại bởi SAP Quick Sizer là không đủ cho một phân tích tải hoàn thiện nhưng có thể nó cung cấp

sự hỗ trợ rất hữu ích cho việc tạo ra các hồ sơ tải

 Không có gì thay thế cho các bài kiểm thử hiệu năng

SAP Quick Sizer không thay thế cho việc kiểm thử hiệu năng Mặc dù SAP Quick Sizer cho phép đánh giá phần cứng cần thiết nhưng chức năng của nó không cho phép đi vào các yếu tố khác Vì vậy, kết quả của nó không phải để xem xét các thiết lập tùy biến cụ thể của khách hàng cũng như sự tương tác với các ứng dụng (Không phải là SAP) của khách hàng Ảnh hưởng của sự phát triển tùy biến và các giao dịch cũng như các quá trình chạy ngầm không thể được coi là một Tuy nhiên, việc xem xét kết quả của SAP Quick Sizer giúp đánh giá các yêu cầu phần cứng cho một hệ thống với cấu hình tối ưu Một trong những mục đích chính của kiểm thử hiệu năng là để đảm bảo rằng các lỗi trong cấu hình hệ thống được phát hiện

 Tài liệu hồ sơ tải (The Load Profile)

Trang 35

Sau khi kết thúc quá trình phân tích, ta phải có một danh sách các quá trình tải có liên quan được sắp xếp theo sự ưu tiên

Các thông tin sau đây cần được cung cấp để đảm bảo việc xem xét đầy đủ trong phạm vi của một hồ sơ tải

- Vai trò: Ai sẽ là người thực hiện quá trình này? Thông tin này cho phép ta

thực hiện một đánh giá đầu tiên của người dùng tham gia và nó cho thấy những người có liên quan, thông tin này có thể được sử dụng cho quá trình phân tích dữ liệu

- Sự điều hướng: Xác định chính xác chức năng này nằm trong menu nào

- Page/ iViews: Những bước được thực hiện là gì? Để chuẩn bị một danh sách

các iViews (hoặc các page) Ta có thể sử dụng các trường hợp kiểm thử và

mô tả quá trình này làm cơ sở Hãy chắc chắn rằng tất cả các bước cần thiết được thực sự xem xét

- Thời gian đáp ứng: Ta phải ghi cả thời gian đáp ứng dự kiến tối đa và có

thể chấp nhận được Giá trị đầu tiên mô tả thời gian đáp ứng trung bình, trong khi giá trị thứ hai cho biết thời gian đáp ứng có thể chấp nhận được đối với trường hợp là chậm nhất

- Số lượng người sử dụng: tổng số người sử dụng phải được xác định cho

mỗi vai trò cũng như số lượng người dùng đồng thời tại thời gian cao điểm Giá trị đầu tiên chỉ đơn giản là liệt kê tất cả những người dùng được phép thực hiện giao dịch Giá trị thứ hai cho biết bao nhiêu người thực hiện giao

dịch đồng thời

- Data throughput/frequency: Giá trị này xác định bao nhiêu hoạt động được

thực hiện bởi mỗi người dùng trong tổng số hoạt động và trong giờ cao điểm

Ta có thể sử dụng giá trị này để xác định tổng tải của hệ thống

- Sự lặp lại: Giá trị này xác định mức độ thực hiện thường xuyên của chức

năng hoặc mức độ thường xuyên của tải trọng tối đa xảy ra trong các giao

dịch (hàng ngày/hàng tuần/ tháng/ quý/ năm)

Trang 36

- Tải trọng tối đa: Giá trị này chỉ ra khoảng thời gian mà tải trọng tối đa được biết

 Quá trình chạy ngầm

Để phân tích các quá trình chạy ngầm, ta phải lấy các thông tin hiện tại từ nhóm dự án Lập kế hoạch lấy thông tin về các tiến trình chạy ngầm thường có sẵn như lịch trình công việc Nếu thông tin về công việc thực hiện ngầm không có sẵn, cách duy nhất để có được nó là yêu cầu các phòng ban tương ứng của người dùng bằng cách đưa ra cái nhìn tổng quan cần thiết

2.1.4.2 Phân tích dữ liệu (Data Analysis)

 Xác định cấu trúc dữ liệu

Tiếp theo phân tích quy trình là phân tích dữ liệu Ở đây, các cấu trúc dữ liệu theo yêu cầu của các quá trình liên quan được xác định để lấy các dữ liệu cần thiết,

ví dụ như mã vật tư, các dữ liệu có thể được xác định

Căn cứ vào các quy trình liên quan và số lượng người dùng đã đăng ký, ta phải ước tính khối lượng dữ liệu cần thiết Khi làm như vậy, luôn phải nhớ rằng các

kiểm thử hiệu năng sử dụng “lượng lớn các dữ liệu thử nghiệm”

 Số lượng dữ liệu kiểm thử

Thiếu dữ liệu kiểm thử gây nguy cơ thất bại cho dự án kiểm thử hiệu năng Mục tiêu của kiểm thử chức năng là để bao quát tất cả các quy trình kinh doanh quan trọng với lượng dữ liệu thử nghiệm càng ít càng tốt, một bài kiểm thử hiệu năng đòi hỏi số lượng lớn các dữ liệu kiểm thử Các quá trình chuyển dữ liệu kiểm thử vào hệ thống kiểm thử được lên kế hoạch ngay từ đầu Cần lưu ý, mỗi hệ thống

có sự hạn chế về băng thông, chúng ta phải tính toán thời gian cần thiết để nhập đủ

số lượng cần thiết của dữ liệu kiểm thử gây ra bởi các hạn chế về kỹ thuật

 Xác minh dữ liệu kiểm thử

Trang 37

Ngoài các kiểu và phạm vi của dữ liệu kiểm thử, ta cũng nên xác định các quá trình sử dụng để tạo ra các dữ liệu này Trong nhiều trường hợp, tập hợp các dữ liệu kiểm thử đã có sẵn trong hệ thống cũ hoặc các bảng Excel, những thông tin này sau đó được đưa vào hệ thống kiểm tra Trong mọi trường hợp, ta phải xác minh các

dữ liệu kiểm thử trước khi sử dụng nó, dưới đây là một vài tiêu chí được đưa ra [10]:

- Dữ liệu kiểm thử có thể được sử dụng cho các quy trình được chọn?

- Đó có phải là tập hợp dữ liệu kiểm thử phù hợp?

- Lượng dữ liệu kiểm thử có đủ để sẵn sàng chạy lặp đi lặp lại để tìm kiếm sự tối ưu hóa, hoặc thực hiện kiểm thử tính ổn định?

- Cấu trúc của dữ liệu kiểm thử có phù hợp với kiểm thử tải?

Sau khi ta đã xác minh các dữ liệu kiểm thử, ta có thể đưa nó vào hệ thống kiểm thử

2.1.4.3 Lựa chọn công cụ kiểm thử tải (Tool Selection)

Song song với việc xử lý và phân tích dữ liệu, việc lựa chọn một công cụ kiểm thử tải phù hợp cũng nên được thực hiện

 Sử dụng các công cụ hiện có

Thông thường, kiểm thử tải đã được thực hiện trong các dự án được triển khai trước, các công cụ liên quan là có sẵn Nếu vẫn được hỗ trợ bảo trì từ nhà cung cấp ta phải kiểm tra xem các giấy tờ tại thời điểm mua còn có hiệu lực sử dụng, đáp ứng các yêu cầu hiện tại cả về số lượng người dùng được mô phỏng và có thích hợp với các hệ thống thử nghiệm không?

 Lựa chọn công cụ mới

Nếu cần phải mua một công cụ mới hoặc muốn thử nghiệm một công nghệ mới hơn sử dụng công cụ hiện có, ta nên kiểm tra công cụ này có đủ điều kiện phù hợp trong bối cảnh của thử nghiệm Bằng cách này ta có thể chắc chắn rằng sự

Trang 38

thành công của kiểm thử không bị đe dọa bởi một chức năng không có công cụ kiểm tra Trong mọi trường hợp, nên liên hệ với chuyên viên giàu kinh nghiệm như các nhà tư vấn SAP khi lựa chọn và kiểm tra một công cụ kiểm thử tải phù hợp

2.1.4.4 Hồ sơ tải (Load Profile)

Kết quả quan trọng của việc chuẩn bị kiểm thử là hồ sơ tải Nó rất hữu ích để cho các bộ phận sử dụng chính thức chấp nhận tài liệu này, nó là cơ sở cho tất cả các hoạt động khác sau này Hồ sơ tải mô tả các quy trình quan trọng, được ưu tiên nhất, nó quy định cụ thể mức độ tải được kỳ vọng trong một khoảng thời gian cụ thể, xác định các mục tiêu hiệu năng cho các quy trình theo tải tối đa Hồ sơ tải nên

ít nhất đáp ứng được những câu hỏi sau [10]:

- Quy trình nào được thực hiện thường xuyên nhất?

- Khi nào tải tối đa xảy ra cho mỗi quá trình?

- Có bao nhiêu người sử dụng đồng thời trong quá trình làm việc trong giờ cao điểm?

- Những đối tượng dữ liệu nào được yêu cầu cho mỗi quá trình?

- Khi nào dữ liệu này được cung cấp?

- Làm thế nào để lấy được dữ liệu trả về của bài kiểm thử?

- Các tiến trình chạy ngầm có liên quan không?

- Có bao nhiêu tài nguyên được yêu cầu sử dụng cho các quá trình chạy ngầm?

- Những cấu trúc dữ liệu nào có sẵn cho các quá trình ngầm?

- Những công cụ nào được sử dụng để tạo ra các tải?

- Làm thế nào hệ thống và ứng dụng được giám sát trong thời gian chạy tải?

2.1.5 Thực hiện kiểm thử tải (Load Test)

Giai đoạn chính của dự án kiểm thử bao gồm bốn bước [10] Bắt đầu bằng việc chuẩn bị dữ liệu và hệ thống, tiếp theo là kiểm thử đơn người dùng, đa người dùng (số người sử dụng tăng dần) Bước cuối cùng là phân tích kết quả Nếu cần

Trang 39

thiết, thực hiện tối ưu hóa Quy trình thực hiện -> phân tích -> tối ưu hóa được lặp

Kiểm thử

đa người dùng

Tối ưu hóa

Hình 2 3 Các bước thực hiện kiểm thử tải

2.1.5.1 Chuẩn bị dữ liệu và hệ thống

Bước đầu tiên trong giai đoạn thực hiện kiểm thử bao gồm việc chuẩn bị dữ liệu và hệ thống Bước này liên quan đến phần cứng cho hệ thống kiểm thử cũng như các dữ liệu kiểm thử phù hợp Về mặt lý thuyết, các phần cứng thử nghiệm cho

hệ thống tải nên giống với hệ thống sẽ được sử dụng cho hệ thống chính Tuy nhiên thực tế là rất khác nhau: đối với lý do chi phí, hệ thống được sử dụng để kiểm thử tải ít khi giống với hệ thống được sử dụng thực tế

 Các công việc thực hiện cùng với việc kiểm thử tải

Chuẩn bị các kịch bản gần giống nhất so với thực tế để đáp ứng các yêu cầu

về việc cung cấp hệ thống giống nhau Ta có thể bắt đầu thực hiện các bài kiểm thử đầu tiên bởi các giao dịch được thực hiện đầu tiên đã được hoàn thành

Trang 40

 Tính toàn vẹn chức năng của hệ thống kiểm thử

Để chuẩn bị hệ thống kiểm thử cho kiểm thử hiệu năng, đầu tiên ta phải kiểm tra tính sẵn sàng và tính toàn vẹn chức năng của các quy trình liên quan Để làm điều này, ta sử dụng quá trình phân tích, nếu các quy trình là có sẵn, cần chắc chắn

dữ liệu kiểm thử có sẵn là tốt Ta có thể sử dụng các phân tích dữ liệu mà ta đã tạo

ra trong giai đoạn chuẩn bị

Ngoài các hệ thống kiểm thử, ta có thể cần các hệ thống khác để tạo ra các tải, tuy nhiên các yêu cầu này có thể được thay đổi từ các công cụ Trong mọi trường hợp nên tham khảo ý kiến của các chuyên gia về công cụ mà ta muốn sử dụng

 Tạo các kịch bản kiểm thử

Bước cuối cùng liên quan đến việc chuẩn bị hệ thống là việc tạo ra các kịch bản kiểm thử Điều này thường được thực hiện bằng cách ghi lại một giao dịch và liên kết nó với các dữ liệu tham số thử nghiệm Quá trình ghi lại này tương tự như quá trình sử dụng ghi macro Trong bối cảnh này, ta phải xem xét thời gian cần thiết bởi các người kiểm thử cần làm quen với các công cụ kiểm thử tải Các kịch bản phức tạp đòi hỏi mức độ chuyên môn cao trong việc sử dụng công cụ

2.1.5.2 Kiểm thử đơn người dùng (Single-user)

Việc đầu tiên của chạy kiểm thử phải là một kiểm thử đơn người dùng Để thực hiện nó, ta nên thực hiện tất cả các quy trình đã được xác định bằng cách sử dụng công cụ kiểm thử tải, dựa trên mô phỏng chỉ có một người sử dụng hoạt động Các bài kiểm thử đầu tiên phải đảm bảo sự toàn vẹn chức năng của hệ thống kiểm thử và kịch bản kiểm thử Dữ liệu được kiểm tra lại bằng cách lấy các mẫu thử Trong quá trình này, những vấn đề đầu tiên có thể được phát hiện vì hệ thống được

sử dụng để kiểm thử hiệu năng thường không tương ứng với hệ thống hợp nhất mà các bài kiểm thử đã được thực hiện Sau khi kiểm thử đơn người dùng được hoàn

Ngày đăng: 15/02/2022, 18:59

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w