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

XÂY DỰNG CÔNG cụ hỗ TRỢ AUTOMATION TEST dựa TRÊN KIẾN TRÚC lưới

20 361 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 20
Dung lượng 1,52 MB

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

Nội dung

Hiện tại quy trình kiềm thử truyền thống được thực hiện với các bước cơ bản sau: - Bước 1: Người quản lý Project Manager, Lab Prime, Leader cung cấp sẵn danh sách những tài nguyên hardw

Trang 1

Đại Học Quốc Gia Thành Phố Hồ Chí Minh

Trường Đại Học Bách Khoa

Hệ Cao Học Chuyên Ngành Khoa Học Máy Tính

Môn: Tính Toán Lưới

Đề Tài:

XÂY DỰNG CÔNG CỤ HỖ TRỢ AUTOMATION TEST DỰA

TRÊN KIẾN TRÚC LƯỚI

Giảng Viên: Thầy Phạm Trần Vũ

Học Viên Thực Hiện:

12070543 – Ngô Hoàng Tâm

Tp HCM, 05/2014

Trang 2

Mục Lục

1 Giới Thiệu Bài Toán: 3

1.1 Tổng Quan Về Automation Test: 3

1.2 Các Vấn Đề Liên Quan Automation Test Trong Dự Án: 3

1.2.1 Các tài nguyên phần cứng và phần mềm: 3

1.2.2 Mô hình kiểm thử truyền thống (Manual Test): 5

1.2.3 Mô hình kiểm thử tự động (Automation Test): 6

1.2.4 Các bài toán cần giải quyết: 8

2 Các Thành Phần Trong Lưới 8

2.1 Các thành phần theo mô hình chức năng: 8

2.2 Các thành phần theo mô hình vật lý: 9

3 Một số công nghệ lưới: 10

3.1 Globus Toolkit: 10

3.2 gLite: 12

4 Ứng Dụng Kiến Trúc Lưới Vào Bài Toán: 14

5 Tổng Kết Và Hướng Phát Triển: 15

Một số giao diện chính trong hệ thống automation test: 16

Tài liệu tham khảo: 20

Trang 3

1 Giới Thiệu Bài Toán:

1.1 Tổng Quan Về Automation Test:

Trong quy trình phát triển phần mềm, sản phẩm dần dần được xây dựng hoàn thiện qua nhiều vòng lặp và pha Ứng với mỗi vòng lặp, pha đó, những chức năng mới sẽ được bổ sung hoặc những chức năng cũ sẽ được cải tiến Nhiệm vụ kiểm tra thoái lùi bắt buộc phải được thực hiện để đảm bảo chất lượng của sản phẩm trong tất cả các phiên bản và tại cuối mỗi vòng lặp để chuyển giao Các vấn đề như tốn nhiều thời gian, chi phí cao, kế hoạch tăng và giảm nguồn nhân sự cho đội ngũ Đảm Bảo Chất Lượng Phần Mềm luôn luôn là điều bận tâm của tổ chức phát triển phần mềm và khách hàng

Sự ra đời của automation test (kiểm thử tự động) đã mang lại những lợi ích vượt trội so với phương thức kiểm thử truyền thống (manual test), cụ thể đó là:

- Phát hiện lỗi trong thời gian nhanh nhất: automation test có thể được kích hoạt chạy

tự động ngay sau khi có 1 bản build mới, do đó những thay đổi nhỏ nhất làm ảnh hưởng đến chất lượng sản phẩm sẽ được thông báo kịp thời đến tester, developer và những người có liên quan

- Giảm thiểu thời gian thực hiện mỗi test case: các thao tác bằng tay tốn nhiều thời gian trước đây được thay thế bằng các thao tác chính xác tính bằng đơn vị ms

- Tận dụng khả năng song song của máy móc, cũng như giải quyết được bài toán về nguồn nhân lực

- …

Tuy nhiên, tùy đặc thù mỗi loại sản phẩm và quy mô của của từng dự án mà việc xây dựng một hệ thống automation test sẽ gặp phải những khó khăn nhất định

1.2 Các Vấn Đề Liên Quan Automation Test Trong Dự Án:

1.2.1 Các tài nguyên phần cứng và phần mềm:

Hiện tại, dự án chúng tôi đang phát triển dòng sản phẩm 5520 Access Management System (AMS) của Alcatel-Lucent Gói sản phầm này cung cấp giải pháp quản lý các thiết

bị quản lý truy xuất thông minh của Alcatel-Lucent (Intelligent Services Access Manager – ISAM) cũng như các sản phẩm dựa trên công nghệ truyền dẫn bằng sợi quang (EPON, GPON)

Trang 4

Hình 1: Giao diện sản phẩm 5520 AMS

Sau đây là những tài nguyên cần thiết trong quy trình kiểm thử của chúng tôi:

- AMS Client machines: những máy tính chạy 5520 AMS Client Hiện tại chúng tôi kiểm thử client trên nhiều nền tảng, hệ điều hành khác nhau như Win XP, Win 7,

Ubutun, Solaris

- AMS Server machines: những máy chủ chạy 5520 AMS Server hoặc những máy

chủ chỉ chứa Cơ Sở Dữ Liệu (CSDL) Các gói AMS server cần được kiềm thử trên

các môi trường Solaris, Redhat/Centos Linux

- Cluster/Geo: một hay nhiều cụm máy chủ AMS

- NEs (Network Elements): các thiết bị mạng của Alcatel-Lucent (GPON, ISAM,

EPON,…)

- INES Server machines: hỗ trợ việc tạo ra các NE simulator

- LDAP/RADIUS Servers:

- Octopus Servers:

- Network Intefaces:

Trang 5

1.2.2 Mô hình kiểm thử truyền thống (Manual Test):

Hình 2: Mô hình kiểm thử truyển thống

Như đã trình bày ở mục 1.2.1, quá trình kiểm thử sàn phẩm 5520 AMS phải dựa trên nhiều loại tài nguyên, nhiều nền tảng, nhiều dòng sản phẩm khác nhau Do đó, việc quản

lý tài nguyên, kiểm thử cần phải tuân theo những quy trình phù hợp nhằm giảm thiểu sự xung đột, giảm thiểu sai sót và thời gian thực thi Hiện tại quy trình kiềm thử truyền thống được thực hiện với các bước cơ bản sau:

- Bước 1: Người quản lý (Project Manager, Lab Prime, Leader) cung cấp sẵn danh

sách những tài nguyên (hardware resource) dùng chung (AMS Server, NE, Octopus Server, LDAP/RADIUS server,…) và các tài nguyên cá nhân (AMS Client, AMS Server, NE, …)

- Bước 2: Người quản lý (Project Manager, Leader) giao các bộ kiểm thử (Test Suite)

tương ứng với việc kiểm thử cho mỗi chức năng, thành phần cho các nhân viên kiểm thử (Tester) bên dưới

- Bước 3: Sau khi được giao việc, các nhân viên kiểm thử sẽ tiến hành kiểm tra và

đăng ký các tài nguyên cần thiết với người quản lý Trong quá trình kiểm thử, họ có thể yêu cầu cung cấp thêm tài nguyên nếu phát hiện quá trình đăng ký ban đầu có

Trang 6

thiếu sót Ngoài ra, các nhân viên này có thể thảo luận và chia sẻ tài nguyên cá nhân với nhau nếu cần thiết

- Bước 4: Khi hoàn tất việc đăng ký tài nguyên, các nhân viên kiểm thử bắt đầu

download sản phẩm và cài đặt môi trường cần thiết

- Bước 5: Tiến hành kiểm thử Quá trình này kéo dài từ vài tuần đến vài tháng cho

đến khi kết thúc 1 phiên bản (Release)

- Bước 6: Thông báo trả tài nguyên khi không còn sử dụng Trong thực tế, bước này

chỉ xảy ra khi 1 nhân viên chuyển nhóm, rời nhóm hoặc kết thúc phiên bản (6 tháng đến 12 tháng) Điều này có nghĩa là 1 nhân viên sẽ chỉ tiến hành kiểm thử trên 1 môi trường cố định (cùng tài nguyên phần cứng đã đăng ký) trong phần lớn thời gian làm việc

Với quy trình như trên, ta có thể thấy xảy ra những hạn chế sau:

- Toàn bộ quá trình do con người thực hiện nên sẽ không thể tránh khỏi những sai sót chủ quan

- Mỗi nhân viên chỉ làm việc trên tài nguyên phần cứng cố định nên những đánh giá chỉ mang tính cục bộ

- Hạn chế quan trọng nhất chính là thời gian kiểm thử kéo dài, những kết quả kiểm thử trước đó trở nên lỗi thời khi có 1 bản Build mới Điều này dẫn đến nhiều lỗi (Bug) sẽ bị bỏ sót hoặc chỉ được phát hiện khi lặp lại quá trình kiểm thử

1.2.3 Mô hình kiểm thử tự động (Automation Test):

Hình 3: Mô hình kiểm thử tự động

Trang 7

Mô hình kiểm thử tự động ra đời với ý tưởng giữ lại một số bước cũ và thêm vào một

số cải tiến nhằm khắc phục những hạn chế mà mô hình truyền thống đã mắc phải

Sau đây là một số khái niệm mới được dung trong mô hình kiểm thử tự động:

- Bộ quản lý tài nguyên phần cứng (Hardware Manager): Tiến trình quản lý toàn

bộ các tài nguyên phần cứng dùng chung và riêng Khái niêm này tương đương với Người quản lý (Project Manager, Lab Prime) Bộ quản lý tài nguyên phần cứng sẽ đảm bảo quá trình phân phối diễn ra ngẫu nhiên, mỗi lần thực thi, các bộ kiểm thử

sẽ chạy trên những tài nguyên hoàn toàn khác nhau, giúp tránh được các kết quả cục

bộ ở mô hình truyền thống

- Plan: Tiến trình độc lập để chạy các testsuite Khái niệm này tương đương với Nhân

Viên Kiểm Thử (Tester)

- Bộ lập lịch (Scheduler): Tiến trình độc lập quyết định thứ tự chạy của các plan dựa

theo mức độ ưu tiên

Các bước chính trong quy trình kiểm thử tự động:

- Bước 1: Người quản trị hệ thống (admin) tiến hành các bước thiết lập sau:

 Cung cấp danh sách tài nguyên phần cứng cho Bộ quản lý tài nguyên phần cứng

 Cung cấp danh sách các bộ kiểm thử, các yêu cầu tài nguyên cho mỗi plan

- Bước 2: Bộ quản lý tài nguyên phần cứng, Bộ lập lịch, các plan được kích hoạt tự

động mỗi khi có 1 Build mới

- Bước 3: Khi các plan được kích hoạt, chúng sẽ tiến hành đăng ký các tài nguyên cần

thiết lên Bộ quản lý tài nguyên phần cứng Trong suốt quá trình, Bộ lập lịch sẽ đóng vai trò điều phối, quyết định thứ tự chạy các plan nhằm đảm bảo số lượng plan chạy song song là tối đa và việc sử dụng tài nguyên là tối ưu nhất

- Bước 4: Sau khi các plan nhận được các tài nguyên cần thiết sẽ tiến hành download

các bản Build và thiết lập môi trường một cách tự động

- Bước 5: Tiến hành kiểm thử tự động Với quy mô hệ thống trong dự án của chúng

tôi, thời gian hiện tại để hoàn thành 1 plan dao động từ 45 phút đến 6 giờ và thời gian để hoàn thành tất cả các plan (bao gồm cả chạy song song và tuần tự) là 18 giờ Điều này có nghĩa mọi sự thay đổi trong vòng 18 giờ làm ảnh hưởng đến chất lượng sản phẩm đều sẽ bị phát hiện và báo cáo kịp thời

- Bước 6: Thông báo trả tài nguyên khi không còn sử dụng Do thời gian tiến hành

kiểm thử rút ngắn đáng kể nên các plan sẽ thông báo vế việc giao trả tài nguyên cho

Bộ quản lý tài nguyên phần cứng biết ngay khi plan vừa kết thúc Việc này có ý nghĩa rất lớn trong việc tận dụng tài nguyên cũng như quá trình thực hiện song song

Trang 8

1.2.4 Các bài toán cần giải quyết:

Khi áp dụng mô hình kiểm thử tự động trên vào cụ thể dự án, chúng tôi nhận thấy cần phải giải quyết được vấn đề chính sau:

- Giao diện hỗ trợ tương tác với hệ thống (thiết lập các plan)

- Quản lý, phân bố, giám sát tài nguyên cho các plan

- Việc che dấu nền tảng bên dưới của các tài nguyên (hệ điều hành, hạ tầng mạng,…)

- Lập lịch việc thực thi các plan

- Việc truyền tải dữ liệu giữa các tài nguyên trong hệ thống

Trong quá trình tìm hiểu, chúng tôi nhận thấy các vấn đề đang giải quyết có những nét tương đồng với việc xây dựng một kiến trúc lưới với những thành phần chức năng cơ bản

Để có cái nhìn rõ hơn về vấn đề này, chúng ta cùng xem xét kiến trúc của một lưới đơn giản

2 Các Thành Phần Trong Lưới

Trong nội dung đề tài này, chúng tôi không trình bày lại các khái niệm cơ bản, cũng như kiến trúc tổng quan của một lưới mà sẽ tập trung vào việc phân tích các thành phần của lưới theo mô hình chức năng và vật lý nhằm giúp người xem dễ dàng có sự so sánh với

hệ thống chúng tôi đang xây dựng

2.1 Các thành phần theo mô hình chức năng [4]:

Hình 4: Cấu trúc lưới theo mô hình chức năng

Trang 9

- Cổng tương tác (Grid portal): là một giao diện cho phép người dùng sử dụng các

ứng dụng lưới, do đó lưới trở nên trong suốt với người dùng

- Thành phần bảo mật (Security): là cơ chế đảm bảo các hoạt động như xác thực,

cấp quyền, bảo mật-toàn vẹn dữ liệu và tính sẵn sàng của dữliệu

- Chức năng an ninh nút (Node Security Function): chức năng này chịu trách nhiệm

xác thực và bảo mật cho từng nút trong quá trình giao tiếp giữa nó và các thành phần khác bên trong mạng lưới Nó phụ thuộc vào hệ điều hành và các hệ thống lưới cụ thể, thường thấy là cơ chế cấp chứng chỉ quyền truy cập

- Bộ lập lịch (Scheduler): là phần phối hợp quá trình thực thi của nhiều công việc

song song Đơn giản, người sử dụng có thể chọn nút thích hợp để chạy tác vụ, sau

đó chỉ việc kích hoạt lệnh để định tuyến công việc đó tới nút đã chọn

- Thành phần môi giới (Broker): sau khi người dùng được xác nhận quyền gia nhập

vào mạng lưới bởi thành phần an ninh nút, thành phần này sẽ chỉ rõ ứng dụng của người dùng được sử dụng tài nguyên nào và đảm bảo tài nguyên được sẵn sàng sử dụng theo tham số truyền vào

- Quản lý, phân bổ tài nguyên (Grid Resource Allocation Manager, GRAM): cung

cấp dịch vụ để kích hoạt từng công việc trên từng tài nguyên cụ thể; kiểm tra trạng thái công việc; đọc kết quả khi công việc đó kết thúc Các thông tin của thành phần này sau đó sẽ được bộ lập lịch sử dụng

- Tài nguyên (Resource): tài nguyên lưới bao gồm bộ xử lý, bộ lưu trữ, các ứng dụng

và các thành phần

- Quản lý dữ liệu (Data management): dữ liệu có thể nằm ở tài nguyên, hoặc là kết

quả thực thi của một tác vụ nào đó Thành phần quản lý dữ liệu phải đảm bảo an toàn và ổn định trong quá trình di chuyển dữliệu giữa các lưới

- Giao thức (Protocol): là thành phần đảm bảo liên kết các thành phần chức năng kể

trên để có thểhoạt động và tương tác được với nhau trong mạng lưới

2.2 Các thành phần theo mô hình vật lý:

Dựa trên tài liệu [1], các thành phần của lưới theo mô hình vật lý bao gồm:

- Thành phần mạng (Networks): mạng đóng vai trò là cơ sở hạ tầng để truyền số liệu

và các thông tin giám sát công việc giữa các điểm trong mạng lưới Băng thông mạng là một thuộc tính rất quan trọng liên quan đên hiệu suất lưới

- Thành phần tính toán (Computation): được cung cấp bởi các bộ xử lý trong lưới,

chúng đa dạng về tốc độ, kiến trúc, nền tảng phần mềm và lưu trữ

- Thành phần lưu trữ (Storage): dữ liệu có thể được lưu trữ phân tán trên nhiều thiết

bộ xử lý hoặc một mạng SAN Mỗi bộ xử lý thường cung cấp một dung lượng lưu trữ nhất định Hệ thống file thường được dùng là NFS, DFS hoặc GPFS

Trang 10

- Phần mềm và bản quyền (Software and License): về phương diện phần mềm trong

môi trường tính toán lưới thì mức độ ổn định của ứng dụng phần mềm và bản quyền phần mềm là hai vất đề cần được quan tâm nhất

- Các thiết bị đặc biệt: một vài nút trên lưới có thể có những thiết bị đặc biệt, chẳng

hạn các thiết bị quân sự, y tế, hay các thiết bị chuyên dụng khác

3 Một số công nghệ lưới [2][3]:

Trong nội dung bài báo cáo này, chúng tôi sẽ trình bày sơ lược về 2 công cụ phổ biến hiện nay: Globus Tookit và gLite

3.1 Globus Toolkit:

Hình 5: Các thành phần của Globus Toolkit

Trang 11

- Globus Toolkit là sản phẩm của Globus Alliance, được xem như là một trong những công cụ chuẩn đóng vai trò như một phần mềm điều hành lưới

- Kiến trúc tổng quát bao gồm:

 Dịch vụ quản lý tài nguyên, cấp phát tài nguyên lưới (Grid Resource Allocation Manager - GRAM):

 Hệ quản trị tài nguyên: xem xét các yêu cầu về tài nguyên, cung cấp tập các API cho phép gửi hoặc hủy các yêu cầu thực thi công việc

 Cơ chế truy cập các hệ lưu trữ phụ: cung cấp cơ chế đọc và ghi các tập tin từ xa thông qua giao thức Http hoặc Https

 Dịch vụ thông tin (Information Services - IS): giám sát trạng thái của cả hệ thống

 Dịch vụ giám sát và khai thác tài nguyên (Monitoring and Discovery Service - MDS)

 Dịch vụ thông tin tài nguyên lưới (Resource Information Service - GRIS)

 Dịch vụ thông tin chỉ mục (Grid Index Information Service - GIIS)

 Dịch vụ quản lý dữ liệu (Data management): cung cấp giao thức chuyển giao

dữ liệu trên môi trường mạng diện rộng với bang thông lớn

 Đồng thời cung cấp việc truy cập và quản trị trong môi trường lưới

 GridFtp: là giao thức mới được áp dụng trong lưới Đây là thành phần chính hỗ trợ việc truyền tải dữ liệu một cách an toàn với hiệu suất cao

 Cơ sở hạ tầng an ninh lưới (Grid Security Infrastructure - GSI): tất cả các thành phần trên được xây dựng ở tầng trên của GSI Điều này cung cấp các chức năng bảo mật bao gồm quá trình chứng thực, xác thức, đảm bộ độ tin cậy trong giao tiếp giữa các nút, xác, …

Trang 12

3.2 gLite:

Hình 6: Các thành phần trong gLite

- gLite: là sản phẩm từ dự án EGEE (Enabled Grids for E-sciencE) của CERN (European Organization for Nuclear Research) với mục tiêu tạo ra mô trường nghiên cứu về sự va chạm của các hạt cơ bản

- Các thành phần của gLite cũng tương tự các thành phần của Globus Toolkit Tuy nhiên so với Globus, gLite cung cấp giải pháp cụ thể hơn cho mỗi thành phần Ngoài

ra gLite còn cung cấp một framework giúp triển khai các ứng dụng trên môi trường lưới

Ngày đăng: 17/08/2015, 09:51

HÌNH ẢNH LIÊN QUAN

Hình 1: Giao diện sản phẩm 5520 AMS. - XÂY DỰNG CÔNG cụ hỗ TRỢ AUTOMATION TEST dựa TRÊN KIẾN TRÚC lưới
Hình 1 Giao diện sản phẩm 5520 AMS (Trang 4)
Hình 2: Mô hình kiểm thử truyển thống. - XÂY DỰNG CÔNG cụ hỗ TRỢ AUTOMATION TEST dựa TRÊN KIẾN TRÚC lưới
Hình 2 Mô hình kiểm thử truyển thống (Trang 5)
Hình 3: Mô hình kiểm thử tự động. - XÂY DỰNG CÔNG cụ hỗ TRỢ AUTOMATION TEST dựa TRÊN KIẾN TRÚC lưới
Hình 3 Mô hình kiểm thử tự động (Trang 6)
Hình 4: Cấu trúc lưới theo mô hình chức năng. - XÂY DỰNG CÔNG cụ hỗ TRỢ AUTOMATION TEST dựa TRÊN KIẾN TRÚC lưới
Hình 4 Cấu trúc lưới theo mô hình chức năng (Trang 8)
Hình 5: Các thành phần của Globus Toolkit. - XÂY DỰNG CÔNG cụ hỗ TRỢ AUTOMATION TEST dựa TRÊN KIẾN TRÚC lưới
Hình 5 Các thành phần của Globus Toolkit (Trang 10)
Hình 6: Các thành phần trong gLite. - XÂY DỰNG CÔNG cụ hỗ TRỢ AUTOMATION TEST dựa TRÊN KIẾN TRÚC lưới
Hình 6 Các thành phần trong gLite (Trang 12)
Hình a: Các plan trên hệ thống. - XÂY DỰNG CÔNG cụ hỗ TRỢ AUTOMATION TEST dựa TRÊN KIẾN TRÚC lưới
Hình a Các plan trên hệ thống (Trang 16)
Hình b: Danh sách các tài nguyên sẽ sử dụng trong hệ thống. - XÂY DỰNG CÔNG cụ hỗ TRỢ AUTOMATION TEST dựa TRÊN KIẾN TRÚC lưới
Hình b Danh sách các tài nguyên sẽ sử dụng trong hệ thống (Trang 17)
Hình d: Plan đang chờ được cấp phát tài nguyên. - XÂY DỰNG CÔNG cụ hỗ TRỢ AUTOMATION TEST dựa TRÊN KIẾN TRÚC lưới
Hình d Plan đang chờ được cấp phát tài nguyên (Trang 18)
Hình c: Khai báo tài nguyên và thứ tự ưu tiên cho 1 plan. - XÂY DỰNG CÔNG cụ hỗ TRỢ AUTOMATION TEST dựa TRÊN KIẾN TRÚC lưới
Hình c Khai báo tài nguyên và thứ tự ưu tiên cho 1 plan (Trang 18)
Hình e: Theo dõi trạng thái tài nguyên. - XÂY DỰNG CÔNG cụ hỗ TRỢ AUTOMATION TEST dựa TRÊN KIẾN TRÚC lưới
Hình e Theo dõi trạng thái tài nguyên (Trang 19)

TỪ KHÓA LIÊN QUAN

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