Tải bản đầy đủ (.docx) (33 trang)

KIỂM THỬ PHẦN MỀM, NGHIÊN CỨU KĨ THUẬT KIỂM THỬ HƯỚNG DỊCH VỤ

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

TRƯỜNG ĐẠI HỌC CƠNG NGHIỆP HÀ NỘI
Khoa Cơng nghệ thơng tin

     

BÁO CÁO THỰC NGHIỆM
HỌC PHẦN: KIỂM THỬ PHẦN MỀM
ĐỀ TÀI: NGHIÊN CỨU KĨ THUẬT KIỂM THỬ HƯỚNG DỊCH VỤ

Giáo viên hướng dẫn

: Th.s Hoàng Quang Huy

Lớp

: 20212IT6013002

Nhóm

:1

Sinh viên thực hiện :

Hà Nội – 2022


MỤC LỤC
I: Tổng quan về kiểm thử SOA.......................................................................................4
1.Kiểm thử SOA.............................................................................................................4
2.Services là gì?..............................................................................................................5
3.Web services................................................................................................................ 6


4.Kiểm tra SOA (Testing)...............................................................................................8
6.Phương pháp kiểm tra SOA.........................................................................................9
7.Quy trình kiểm thử SOA xoay quanh 3 lớp trong kiến trúc:.......................................12
8.Các công cụ kiểm thử SOA........................................................................................15
II.THỰC NGHIỆM VÀ KIỂM THỬ WEBSITE........................................................16
1.u cầu đề tài............................................................................................................16
2.Tìm hiểu cơng cụ kiểm thử phần mềm.......................................................................16
3.Giới thiệu................................................................................................................... 17
4.Phạm vi test...............................................................................................................18
5.Ràng buộc.................................................................................................................. 19
6.Tiêu chí chấp nhận.....................................................................................................19
7.Các yêu cầu test.........................................................................................................19
8.Chiến lược test...........................................................................................................19
1)Phạm Hoàng Long – kiểm thử chức năng liên kết thẻ...............................................22
2)Phạm Hoàng Long – Kiểm thử chức năng thêm địa chỉ............................................24
3)Mai Đăng Khoa– Kiểm thử chức năng thêm sản phẩm vào giỏ hàng........................27
4)Vũ Đức Long – Kiểm thử thông tin người đặt vé xe...................................................29
5)Vũ Đức Long– kiểm thử chức năng Đăng nhập.........................................................31
III.KẾT LUẬN...............................................................................................................33
1.Kết luận.....................................................................................................................33
2.Tài liệu tham khảo.....................................................................................................33


LỜI NĨI ĐẦU

Ngày nay phần mềm thay đổi khơng ngừng và dễ kiểm soát sự thay đổi mong
muốn của người dùng sau tất cả , một mơ hình độc lập thì khơng hữu ích.
Ở nơi đó, SOA phù hợp như là một giải pháp.Đó là lý do tại sao, rất nhiều cơng
ty đang dần thích nghi hoặc cố gắng để thích nghi với cách tiếp cận SOA vì ưu điểm
của nó như: Cắt giảm chi phí, sự linh hoạt trong kinh doanh, dễ dàng bảo trì vv. Với thị

trường sắp tới đầy kiến trúc SOA, nó trở nên cần thiết cho nhân viên kiểm thử có được
một ý tưởng đúng đắn về nghề thử nghiệm SOA. Trong bản báo cáo này chúng em sẽ
giới thiệu những điều cơ bản của SOA với các ví dụ của nó.
Với lí do đó, được hướng dẫn và giúp đỡ của Ths. Hoàng Quang Huy chúng em
đã chọn đề tài: “Nghiên cứu kỹ thuật kiểm thử Hướng dịch vụ” làm đề tài cho bài tập
lớn của nhóm chúng em. Mặc dù đã nỗ lực hết sức mình nhưng chắc chắn rằng bài tập
lớn của chúng em khó tránh khỏi sự thiếu sót. Em rất mong nhận được sự thơng cảm,
những lời góp ý và chỉ bảo của thầy và các bạn.

Xin chân thành cảm ơn!


I: Tổng quan về kiểm thử SOA
TĨM TẮT: Tìm hiểu Nghiên cứu kỹ thuật kiểm thử Hướng dịch vụ (What is SOA
Testing? Tutorial with Example)
1.Kiểm thử SOA
a.Khái niệm:
SOA (Service-Oriented Architecture) - kiến trúc hướng dịch vụ. Hiểu một cách cơ
bản, SOA là tập hợp các dịch vụ kết nối “mềm dẻo” với nhau, có giao tiếp
được định nghĩa rõ ràng và độc lập với nền tảng hệ thống, và có thể tái sử
dụng. SOA là cấp độ cao hơn của phát triển ứng dụng, chú trọng đến quy
trình nghiệp vụ và dùng giao tiếp chuẩn để giúp che đi sự phức tạp kỹ thuật
bên dưới. Nói cách khác, SOA là:


Một kiểu kiến trúc phần mềm gồm nhiều thành phần độc lập được thể hiện
thành những dịch vụ (service), mỗi dịch vụ thực hiện quy trình nghiệp vụ nào
đó của doanh nghiệp.




Các thành phần được nối kết qua cổng giao tiếp, có tính kế thừa các thành phần
đang tồn tại, và sự tương tác giữa chúng không cần quan tâm đến việc chúng
được phát triển trên nền tảng công nghệ nào. Điều này khiến hệ thống có thể
mở rộng và tích hợp một cách dễ dàng.

Bản chất SOA chỉ đơn thuần là sự đáp ứng đối với một thách thức ngày càng lớn:
đó là yêu cầu thực tế của doanh nghiệp thay đổi ngày càng nhanh, đến mức những cấu
trúc ứng dụng kiểu truyền thống khó giải quyết nổi. SOA sẽ đáp ứng được yêu cầu đó,
nó sẽ trợ giúp cho hoạt động doanh nghiệp có thể quản lý được (manageable), linh hoạt
hơn và sẵn sàng thay đổi hơn. Một chuyên gia của IBM từng nói: “SOA được xây dựng
để thay đổi (built to change), chứ không chỉ để tồn tại (not built to last)“. Từ góc độ
doanh nghiệp thì có thể coi SOA là một phương pháp để tái cấu trúc hạ tầng thông tin
của doanh nghiệp.
Một số ưu điểm của việc phát triển ứng dụng hướng dịch vụ (SOA)


Thứ nhất, tái sử dụng phần mềm. Nếu một dịch vụ có quy mơ và kích thước phù
hợp sau đó nó có thể được tái sử dụng cho lần kế tiếp. Điều này đồng nghĩa sẽ
làm giảm công sức phát triển và chi phí về mặt tài chính cho cả hai phía: nhà
phát triển phần mềm và các khách hàng (doanh nghiệp).



Thứ hai, linh hoạt khi mở rộng, kết nối và tích hợp. Giả sử rằng các dịch vụ sẽ
khơng được tái sử dụng, thì ta có thể đưa ra nhiều giá trị nếu ta làm cho hệ
thống CNTT chỉnh sửa dễ dàng hơn.

b,Ví dụ về SOA



Yêu cầu nghiệp vụ: Ứng dụng mà người dùng có thể đăng nhập và tìm kiếm các Nhà
hàng dựa trên định vị vị trí địa lý, Tải chi tiết về Nhà hàng và Menu từ máy
chủ khi quá trình tìm kiếm hồn tất và cuối cùng có thể thực hiện thanh tốn
để đặt hàng.
u cầu nghiệp vụ này có thể đạt được bằng cách thực hiện SOA.
Có thể có dịch vụ / vi dịch vụ như sau để thực hiện các nhiệm vụ khác nhau:


Trong quá trình đăng nhập, dịch vụ sẽ được sử dụng là 'Dịch vụ xác thực'



Tìm kiếm các nhà hàng sẽ được thực hiện bằng 'Dịch vụ định vị địa lý'



Tải Menu nên được thực hiện bởi 'Menu Downloader service'



Cuối cùng, thanh toán sẽ được thực hiện bằng 'Dịch vụ thanh tốn'

Mỗi dịch vụ nói trên làm một chức năng duy nhất để làm cho hệ thống làm việc và
cung cấp những gì nó được u cầu phải làm. Bây giờ, nếu một khách hàng
chỉ cần nhìn thấy nhà hàng và thực đơn của nó nhưng khơng cần giao diện
cổng thanh tốn thì họ chỉ mua / triển khai ba dịch vụ đầu tiên.
Điều này làm cho công việc đơn giản để phát triển, Triển khai, Bán hàng, Bảo trì và sau
tất cả các khách hàng / Người dùng cuối.
2.Services là gì?

Dịch vụ (Services) có thể là một đơn vị chức năng của ứng dụng hoặc quy trình kinh
doanh, có thể được sử dụng lại hoặc lặp lại bởi bất kỳ ứng dụng hoặc quy
trình nào khác.
(Ví dụ: trong hình trên, Cổng thanh tốn là một dịch vụ có thể được sử dụng lại bởi bất
kỳ trang thương mại điện tử nào. Bất cứ khi nào cần thanh toán, trang
thương mại điện tử này sẽ gọi / Yêu cầu dịch vụ Cổng thanh toán. Sau khi
thanh toán được thực hiện trên một cổng, một phản hồi được gửi đến trang
web thương mại điện tử)
 Dịch vụ dễ lắp ráp và dễ cấu hình lại các thành phần.
 Dịch vụ có thể được so sánh với các khối xây dựng. Họ có thể xây dựng bất kỳ
ứng dụng nào cần thiết. Thêm và xóa chúng khỏi ứng dụng hoặc quy trình kinh
doanh rất dễ dàng.
 Các dịch vụ được định nghĩa nhiều hơn bởi chức năng kinh doanh mà chúng
thực
 hiện hơn là dưới dạng các đoạn mã.


3.Web services
Web services là các API [Giao diện lập trình ứng dụng] tạo điều kiện cho sự tương
tác giữa các chương trình phần mềm khác nhau. Có một nhà cung cấp dịch vụ lưu trữ
các dịch vụ trên Web. Như một phần của máy chủ, một WSDL được lưu trữ bởi nhà
cung cấp. Khi khách hàng gửi một thông báo yêu cầu đến nhà cung cấp dịch vụ, giao
tiếp được thiết lập với việc sử dụng URL / WSDL.
Dịch vụ web là các thành phần ứng dụng độc lập, có sẵn trên web
Chúng có thể được xuất bản, tìm thấy và có thể được sử dụng trên web. Họ có thể giao
tiếp thơng qua internet.

Hình ảnh giao thức Service



1.Nhà cung cấp dịch vụ xuất bản dịch vụ lên internet.
2.Khách hàng tìm kiếm một dịch vụ web cụ thể từ Cơ quan đăng ký dịch vụ web
3.Một URL và WSDL cho dịch vụ web được yêu cầu sẽ được trả về.
4.>> Sử dụng WSDL và URL, giao tiếp giữa nhà cung cấp dịch vụ và người yêu cầu
diễn ra thông qua các bản tin SOAP. <<
5.Khi người tiêu dùng gọi một dịch vụ web, một kết nối HTTP sẽ được thiết lập với
nhà cung cấp.
6.Thông báo SOAP được tạo để hướng dẫn nhà cung cấp gọi logic dịch vụ web được
yêu cầu.
7.Phản hồi nhận được từ nhà cung cấp là một thông báo SOAP sẽ được nhúng vào
phản hồi HTTP. Phản hồi HTTP này là định dạng dữ liệu mà ứng dụng tiêu dùng có
thể hiểu được.
Ví dụ
Trang chủ của một Trang web và một Cơng cụ Tìm kiếm hiển thị báo cáo thời tiết
hàng ngày. Thay vì viết mã tồn bộ phần báo cáo thời tiết, bạn có thể mua Dịch vụ báo
cáo thời tiết từ một nhà cung cấp và tích hợp vào các trang.

Hình ảnh: Sơ đồ Website Service


4.Kiểm tra SOA (Testing)
SOA bao gồm các công nghệ khác nhau. Các ứng dụng được xây dựng bằng SOA có
các dịch vụ khác nhau được kết hợp với nhau một cách lỏng lẻo.

Kiểm tra SOA nên tập trung vào 3 lớp hệ thống:
- Services Layer(Lớp dịch vụ)
- Process Layer(Lớp xử lý)
- Consumer Layer(Tầng lớp người tiêu dùng)
5.Chiến lược kiểm tra SOA
Phương pháp tiếp cận lập kế hoạch thử nghiệm:

 Kiến trúc hoàn chỉnh của ứng dụng nên được Người kiểm tra SOA hiểu.
 Ứng dụng cần được chia thành các dịch vụ độc lập (Dịch vụ, có cấu trúc yêu
cầu và phản hồi riêng và không phụ thuộc vào bất kỳ dịch vụ nào khác để tạo
phản hồi).
 Cấu trúc ứng dụng cần được tổ chức lại thành ba thành phần - Dữ liệu, Dịch vụ
và các ứng dụng front-end.
 Tất cả các thành phần cần phải được phân tích cẩn thận và các kịch bản kinh
doanh nên được đưa ra.
 Các kịch bản kinh doanh nên được phân loại thành các kịch bản chung và các
kịch bản ứng dụng cụ thể.


 Cần chuẩn bị Ma trận xác định nguồn gốc và tất cả các trường hợp thử nghiệm
phải được truy tìm theo các tình huống kinh doanh.
Phương pháp tiếp cận thực thi kiểm tra:
 Mỗi thành phần dịch vụ cần được kiểm tra.
 Tích hợp Kiểm tra các thành phần dịch vụ nên được thực hiện để xác thực
luồng dữ liệu thơng qua các dịch vụ và tính tồn vẹn của dữ liệu.
 Kiểm tra hệ thống của mơ hình hoàn chỉnh nên được thực hiện để xác nhận
luồng dữ liệu giữa ứng dụng front-end và cơ sở dữ liệu.
 Kiểm tra hiệu suất nên được thực hiện để tinh chỉnh và hiệu suất tối ưu.
6.Phương pháp kiểm tra SOA
1) Kiểm tra dựa trên dữ liệu theo kịch bản kinh doanh
 Các khía cạnh kinh doanh khác nhau liên quan đến hệ thống cần được phân
tích.
 Các kịch bản nên được phát triển dựa trên sự tích hợp của
 Các dịch vụ Web khác nhau của ứng dụng
 Dịch vụ web và ứng dụng.
 Việc thiết lập dữ liệu nên được thực hiện dựa trên các tình huống trên.
 Việc thiết lập dữ liệu cũng nên được thực hiện để bao gồm các kịch bản đầu

cuối.
2) Những cái cọc
 Các giao diện giả sẽ được tạo để kiểm tra các dịch vụ.
 Các đầu vào khác nhau có thể được cung cấp thông qua các giao diện này và
các đầu ra có thể được xác nhận.
 Khi một ứng dụng sử dụng giao diện với một dịch vụ bên ngoài, dịch vụ này
chưa được thử nghiệm (dịch vụ của bên thứ ba), sơ khai có thể được tạo trong
q trình Kiểm tra tích hợp.
3) Kiểm tra hồi quy
 Kiểm tra hồi quy trên ứng dụng nên được thực hiện khi có nhiều bản phát hành
để đảm bảo tính ổn định và tính sẵn sàng của hệ thống.


 Một bộ kiểm tra hồi quy toàn diện sẽ được tạo ra bao gồm các dịch vụ tạo thành
một phần quan trọng của ứng dụng.
 Bộ thử nghiệm này thể được sử dụng lại trong nhiều bản của dự án.
4) Kiểm tra mức độ dịch vụ
 Kiểm tra mức dịch vụ bao gồm kiểm tra thành phần về chức năng, bảo mật,
hiệu suất và khả năng tương tác.
 Mỗi và mọi Dịch vụ cần được kiểm tra độc lập trước tiên.
5) Kiểm tra chức năng
 Kiểm tra chức năng nên được thực hiện trên mỗi dịch vụ để
 Đảm bảo rằng dịch vụ cung cấp phản hồi phù hợp cho từng yêu cầu.
 Nhận được lỗi đúng đối với các u cầu có dữ liệu khơng hợp lệ, dữ liệu không
hợp lệ, v.v.
 Kiểm tra từng yêu cầu và phản hồi cho mỗi và mọi hoạt động mà dịch vụ phải
thực hiện trong thời gian chạy.
 Xác thực các thông báo lỗi khi lỗi xảy ra ở cấp máy chủ, máy khách hoặc mạng.
 Xác thực rằng câu trả lời nhận được có đúng định dạng.
 Xác thực rằng dữ liệu nhận được trên phản hồi tương ứng với dữ liệu được yêu

cầu.
6) Kiểm tra bảo mật
 Kiểm tra bảo mật của dịch vụ web là một khía cạnh quan trọng trong quá trình
kiểm tra mức dịch vụ của ứng dụng SOA; điều này đảm bảo sự an toàn của ứng
dụng.
 Các yếu tố sau cần được đề cập trong q trình thử nghiệm:
 Tiêu chuẩn Cơng nghiệp được xác định bởi kiểm tra WS-Security phải được
Dịch vụ Web tuân thủ.
 Các biện pháp bảo mật sẽ hoạt động hồn hảo.
 Mã hóa dữ liệu và chữ ký điện tử trên tài liệu
 Xác thực và Ủy quyền
 SQL Injection, Malware, XSS, CSRF, các lỗ hổng bảo mật khác sẽ được kiểm
tra trên XML.
 Sự từ chối của dịch vụ tấn công
7) Kiểm tra hiệu suất
 Kiểm tra hiệu suất của dịch vụ cần phải được thực hiện vì các dịch vụ có thể
được sử dụng lại và nhiều ứng dụng có thể đang sử dụng cùng một dịch vụ.
 Các yếu tố sau được xem xét trong quá trình thử nghiệm:
 Hiệu suất và chức năng của dịch vụ cần được kiểm tra dưới tải nặng.
 Hiệu suất của dịch vụ cần được so sánh trong khi làm việc riêng lẻ và trong ứng
dụng, nó được kết hợp với.








Kiểm tra tải của dịch vụ nên được thực hiện:

Để xác minh thời gian phản hồi
Để kiểm tra tắc nghẽn
Để xác minh việc sử dụng CPU và bộ nhớ
Để dự đốn khả năng mở rộng

8) Kiểm tra mức độ tích hợp
 Kiểm tra mức dịch vụ đảm bảo chỉ hoạt động bình thường của các dịch vụ riêng
lẻ, nó khơng đảm bảo hoạt động của các thành phần được ghép nối.
 Kiểm thử tích hợp được thực hiện chủ yếu tập trung vào các giao diện.
 Giai đoạn này bao gồm tất cả các tình huống kinh doanh có thể xảy ra.
 Thử nghiệm phi chức năng của ứng dụng nên được thực hiện thêm một lần nữa
trong giai đoạn này. Bảo mật, tuân thủ và Kiểm tra hiệu suất đảm bảo tính khả
dụng và ổn định của hệ thống ở mọi khía cạnh.
 Các giao thức truyền thơng và mạng phải được kiểm tra để xác nhận tính nhất
quán của truyền thông dữ liệu giữa các dịch vụ.
9) Thử nghiệm từ đầu đến cuối
 Giai đoạn này đảm bảo rằng ứng dụng xác nhận các yêu cầu kinh doanh cả về
mặt chức năng và phi chức năng.
 Các mục dưới đây được đảm bảo sẽ được kiểm tra trong quá trình kiểm tra từ
đầu đến cuối
 Tất cả các dịch vụ hoạt động như mong đợi sau khi tích hợp
 Xử lý ngoại lệ
 Giao diện người dùng của ứng dụng
 Luồng dữ liệu thích hợp qua tất cả các thành phần
 Quy trình kinh doanh
 Những thách thức trong kiểm tra SOA:
Thiếu giao diện cho các dịch vụ:
 Quá trình kiểm tra trải dài trên nhiều hệ thống do đó tạo ra nhu cầu dữ liệu phức
tạp
 Ứng dụng này là một tập hợp các thành phần khác nhau có xu hướng thay đổi.

Nhu cầu kiểm tra hồi quy thường xuyên hơn.
 Do kiến trúc Multilayer, rất khó để cơ lập các khuyết tật.
 Vì dịch vụ sẽ được sử dụng trong các giao diện khác nhau, rất khó dự đốn tải,
do đó làm cho việc lập kế hoạch kiểm tra hiệu suất trở nên cồng kềnh.


 SOA là một tập hợp các công nghệ không đồng nhất. Việc kiểm tra một ứng
dụng SOA đòi hỏi những người có các bộ kỹ năng khác nhau, do đó làm tăng
chi phí lập kế hoạch và thực hiện.
 Vì ứng dụng là sự tích hợp của nhiều dịch vụ nên việc kiểm tra bảo mật cũng có
những rắc rối riêng. Xác thực xác thực và ủy quyền là khá nhiều khó khăn.
7.Quy trình kiểm thử SOA xoay quanh 3 lớp trong kiến trúc:


Người tiêu dùng dịch vụ



Các lớp xử lý



Các lớp dịch vụ

Đi cùng một ví dụ ở trên, chúng ta có thể có các lớp như sau:


Lớp khách hàng của dịch vụ giúp tương tác người tiêu dùng. Điều này giúp đọc
được đầu vào từ người dùng cuối và trả lời phản hồi thích hợp cho yêu cầu nhận
được. Nói cách khác, điều này về cơ bản có giao diện người dùng.




Đây là lớp tập trung vào việc thực hiện. Trong lớp này,chúng ta sẽ có các
phương pháp xác thực, tạo ra một người sử dụng vv



Các lớp dịch vụ là các chức năng nghiệp vụ về dịch vụ. Tất cả các dịch vụ được
đặt tên khi một nhiệm vụ cụ thể được thực hiện được trong lớp này.

Về cơ bản việc kiểm tra có thể được chia thành 4 giai đoạn khác nhau;


Cấp 1:
1. Thử nghiệm cấp dịch vụ:


Mỗi dịch vụ tham gia vào hệ thống được kiểm tra riêng lẻ dựa trên một yêu cầu
và phương pháp phản hồi.



Thử nghiệm này là bắt buộc và rất quan trọng để tiến hành các quy trình kiểm
tra khác.2) Thử nghiệm chức năng:



Kiểm thử được tiến hành đối với các dịch vụ về nhu cầu kinh doanh của họ để
tìm ra nếu respond nhận được là đúng.




Khi mà các yêu cầu nghiệp vụ được chuyển thành các Test case và các câu lệnh
yêu cầu được hình thành.



Sau đó các câu lệnh u cầu được xử lý để xem các câu trả lời có chính xác
không.



Trong trường hợp dữ liệu đầu vào không hợp lệ, phải gửi mã sai đúng hoặc phải
thơng báo lỗi thích hợp.



Các định dạng của respond, cũng như các kịch bản tiêu cực, phải được thực
hiện.


2. Kiểm thử bảo mật:


Bất cứ khi nào nói đến một web services, Kiểm thử bảo mật đóng một vai trị
quan trọng trong sự thành cơng của Quy trình kiểm thử.




Cổng thơng tin xác thực, Cổng thanh tốn vv.. nên được mã hóa khi dữ liệu
được phân tích.



Khi nói đến XML, các lỗ hổng như CSRF, SQL injection nên được xác minh.

3. Kiểm thử hiệu năng:


Các dịch vụ được sử dụng trong kiến trúc được lưu trữ để nhiều ứng dụng khác
nhau có thể sử dụng nó. Kiểm thử hiệu năng đảm bảo độ tin cậy của các dịch vụ
đó.



Việc kiểm tra các dịch vụ nên được thực hiện để tìm ra các kết quả sau; - Để
xác định tính ổn định của dịch vụ. - Để xác nhận khả năng mở rộng của các
dịch vụ. - Hành vi dịch vụ trong điều kiện tải cao điểm - Để tìm thời gian phản
hồi thông qua các dịch vụ.

Cấp 2:
 Quy trình kiểm thử:


Quá trình này liên quan đến việc kiểm tra các quy trình nghiệp vụ khác nhau.



Điều này nên bao gồm các kịch bản tích hợp các dịch vụ Web và ứng dụng bao

gồm các yêu cầu nghiệp vụ.



Mô phỏng việc sử dụng phải được thực hiện để tạo ra dữ liệu đầu vào mẫu và
phải được thực hiện cho các đầu ra tương ứng.



Luồng dữ liệu từ các lớp khác nhau nên được thực hiện để chứng minh khi nó
được tích hợp các chức năng của hệ thống này chạy trơn tru .

Cấp 3:
 Kiểm thử đầu cuối:


Giai đoạn này là để xác nhận các yêu cầu nghiệp vụ cả chức năng và phi chức
năng.



UI của ứng dụng được xác nhận.



Quy trình nghiệp vụ liên quan được kiểm tra.



Dòng dữ liệu đầu cuối được xác nhận trong giai đoạn này.




Hoạt động với tất cả các dịch vụ khi các dịch vụ được tích hợp với nhau được
xác nhận.

Cấp 4:
 Kiểm tra hồi quy:


Sự ổn định của hệ thống trong bản release được xác nhận bởi kiểm thử này.



Điều này có thể đạt được bằng kiểm thử bằng tay hoặc tự động hóa.

Những thách thức trong kiểm thử SOA Với rất nhiều phần cấu thành kiến trúc SOA,
nó trở thành một cơng việc thực sự khó khăn để chứng nhận nó trong kiểm thử.




Khó khăn để mơ phỏng các mơi trường kiểm thử để tiến hành q trình kiểm
thử.



Các sản phẩm có liên quan đến mơ hình có thể cùng cơng nghệ / nhà cung cấp.
Nhưng, chúng cũng có thể khác. Vấn đề sẽ nhiều hơn?




Các kiểm thử kết hợp gặp UP với một số lượng dịch vụ / các thành phần liên
quan.



Tính phức tạp trong mơ hình



Lặp lại các issue / kiểm thử là một cơng việc khó khăn.



Khơng giống như các mơ hình khác, trọng tâm chính của kiểm thử nên nằm
trong phạm vi nghiệp vụ hơn là dịch vụ và tính năng của nó.

8.Các cơng cụ kiểm thử SOA
Có rất nhiều ứng dụng để kiểm thử SOA. Các công cụ kiểm thử SOA được lựa chọn
dựa trên kết quả chính xác và năng suất tốt hơn.
1. SoapUI: Đây là một cơng cụ miễn phí nhằm thử nghiệm dịch vụ Web. SoapUI có
khả năng thực hiện kiểm tra chức năng, kiểm tra hiệu suất, và kiểm tra tải
2. Katalon Studio: là một bộ cơng cụ tồn diện cho kiểm thử tự động hóa ứng dụng
trên web và điện thoại di động.
3. JProfiler: Sử dụng để ngăn chặn hoặc phát hiện sự rị rỉ bộ nhớ, tìm các nút thắt cổ
chai trong q trình thực hiện ...
4. Squish Web: Là cơng cụ miễn phí nhằm thử nghiệm dịch vụ tự động web. Squish có
khả năng thực hiện vịng lặp kiểm tra chức năng hoạt động của một
trangweb.


Kết Luận:Tiếp cận các dịch vụ web thực hiện quy trình kiểm thử SOA.Chúng ta sẽ
được vào quy trình kiểm thử có thể được theo dõi trong một mơ hình kiến trúc SOA

II.THỰC NGHIỆM VÀ KIỂM THỬ WEBSITE


1.Yêu cầu đề tài
 Tại sao phải kiểm thử phần mềm:
- Để chỉ ra các defects và errors đã được thực hiện trong các giai đoạn phát triển
phần mềm.
- Kiểm thử phần mềm đảm bảo độ tin cậy của Khách hàng và sự hài lòng của họ
trong ứng dụng.
- Để đảm bảo chất lượng của sản phẩm.
- Đảm bảo rằng ứng dụng sẽ không dẫn đến bất kỳ lỗi nào vì nó có thể rất tốn
kém trong việc bảo trì tương lai hoặc trong các giai đoạn sau của quá trình phát
triển. Sau khi đã giao sản phẩm cho khách hàng , mà có bất kì lỗi phát sinh
chúng ta sẽ phải bồi thường một khoản chi phí có thể rất lớn , làm ảnh hưởng
đến uy tín.
Kiểm thử gồm có 4 giai đoạn:

-

Kiểm thử đơn vị
Kiểm thử tích hợp
Kiểm thử hệ thống
Kiểm thử chấp nhận sản phẩm.

Các kỹ thuật kiểm thử phần mềm (đã học) là:


- Phân vùng tương đương
- Phân tích giá trị biên
- Bảng quyết định
2.Tìm hiểu công cụ kiểm thử phần mềm
Giới thiệu công cụ:

- Katalon Studio là một bộ cơng cụ tồn diện cho kiểm thử tự động hóa ứng
dụng trên web và điện thoại di động. Cơng cụ này bao gồm một gói đầy đủ
các tính năng mạnh mẽ giúp vượt qua những thách thức phổ biến trong tự
động hóa thử nghiệm giao diện web, ví dụ như: pop-up, iFrame và waittime. Giải pháp thân thiện và linh hoạt này giúp tester thực hiện công tác
kiểm tra tốt hơn, làm việc nhanh hơn và khởi chạy phần mềm chất lượng
cao nhờ vào sự thông minh mà nó cung cấp cho tồn bộ q trình tự động
hóa kiểm thử.

- Katalon Studio được xây dựng từ Selenium/Appium.
 Đặc điểm
-

Studio Katalon - Một giải pháp thay thế mạnh mẽ cho Automation Frameworks
mã nguồn mở.


-

-

-

Phiên bản mới nhất hiện nay là Katalon Studio 8.2.0
Công cụ này bao gồm một gói đầy đủ các tính năng mạnh mẽ giúp vượt qua

những thách thức phổ biến trong tự động hóa thử nghiệm giao diện web, ví dụ
như pop-up, iFrame và wait-time.
Katalon Recorder hỗ trợ cả Chrome và Firefox. Katalon Recorder hoạt động
giống như tiện ích ghi của Katalon Studio, nhưng nó cũng có thể thực thi các
bước kiểm thử và xuất tập lệnh kiểm thử bằng nhiều ngôn ngữ như C#, Java và
Python.
Katalon là một phần mềm miễn phí, thời gian tạo kịch bản khá nhanh, dễ dàng
cài đặt và chạy.
Tích hợp các framework và tính năng cần thiết để tạo và thực hiện các trường
hợp kiểm thử nhanh.
Hạn chế : Thiếu các lựa chọn cho các ngôn ngữ kịch bản: chỉ hỗ trợ Java/
Groovy, bộ tính năng vẫn đang phát triển.

 Cài đặt và sử dụng công cụ Katalon
Yêu cầu về hệ thống:
Hệ điều hành: Yêu cầu là Windows 7, Windows 8, Windows 10, macOS
10.11+, Linux
- CPU: Yêu cầu bộ xử lí 1 Ghz hoặc nhanh hơn 31 bit(x86) hoặc 64 bit(x64)
- Bộ nhớ: Tối thiểu 1 GB RAM(32 bit) hoặc 4 GB RAM(64 bit). Khuyến nghị là
4 GB RAM (32 bit) và 8 GB RAM (64 bit)
- Ổ cứng : ít nhất 1 GB dung lượng ổ cứng khả dụng. Cần thêm dung lượng đĩa
phụ thuộc vào mã nguồn dự án và các báo cáo thực hiện được đào tạo.
Môi trường được hỗ trợ:
- Trình duyệt: Internet Explorer, Microsoft Edge,Firefox, Google Chorme,…
3.Giới thiệu
-

 Mục đích
Mục đích của bài tập lớn là bản mơ tả kế hoạch kiểm thử hướng dịch vụ, nói cách
khác thì nó có nghĩa là một bản tài liệu văn bản được xây dựng một cách chi tiết và cụ

thể để có thể nhằm vạch ra những kế hoạch, hay các chiến lược cho trang web
Sendo.vn.

Thông tin chung:
 Đây là trang web bán hàng online được phát triển bằng ngôn ngữ javascript.


 Kiểm tra chức năng: Các chức năng của Quản trị viên và Khách hàng chạy
đúng theo đặc tả, giao diện hiển thị theo yêu cầu đặc tả.
+ Chức năng của Quản trị viên trong website sendo.vn gồm:
Đăng nhập
Đăng xuất
Bảo trì thơng tin khách hàng
Bảo trì sản phẩm
Bảo trì trang web
Xem thông tin mua sắm
Quản lý đơn hàng









+ Chức năng Khách hàng trong website sendo.vn gồm:
Đăng nhập
Đăng xuất
Đổi mật khẩu

Tìm kiếm sản phẩm
Xem sản phẩm
Mua sắm
Quản lý giỏ hàng
Đặt hàng
Hủy đơn hàng
Tìm kiếm sản phẩm
Thêm địa chỉ giao hang
Quản lý tài khoản













-

Kiểm tra đặc tính: kiểm tra xem giao diện website có thân thiện với

người dùng, có độ tương thích và độ tin cậy.
4.Phạm vi test
-


Các giai đoạn kiểm thử
o Kiểm thử hệ thống: tiến hành thực hiện trên 1 hệ thống hồn thành và đánh
giá điểm tương thích của hệ thống với yêu cầu cụ thể.

-

Các kiểu kiểm thử trong kế hoạch:
o Kiểm thử chức năng: kiểm thử các chức năng của hệ thống website
sendo.vn.
o Kiểm thử giao diện người dùng: giao diện đúng như yêu cầu đặc tả khách
hàng cung cấp.
o Kiểm thử hiệu năng: xét tính ổn định, sự thân thiết, tốc độ truy cập của hệ
thống.

-

Chức năng được kiểm thử: kiểm thử chức năng, kiểm thử giao diện người dùng,
kiểm thử hiệu năng.


5.Ràng buộc
-

Trình duyệt: test trên trình duyệt tối ưu nhất là Google Chorme, các trình duyệt
khác như Cơc cốc, Microsoft Edge.

-

Vè nguồn lực: nhóm có 4 thành viên, mỗi thành viên đảm nhận 1 công việc cụ
thể. Liệt kê các mạo hiểm


6.Tiêu chí chấp nhận
- Passed tất cả các testcases đã được định nghĩa.
-

Hệ thống chạy ổn định trên các hệ điều hành.

7.Các yêu cầu test
-

Kiểm tra chức năng xem hàng: kiểm tra xem khách hàng có xem được hàng
khơng

-

Kiểm tra chức năng đặt hàng: kiểm tra xem khách hàng có đặt được hàng hay
khơng và có đúng hang mà khách chọn không.

-

Kiểm tra chức năng hủy hàng: kiểm tra xem khách hang có hủy được hàng đã
đặt hay khơng.

8.Chiến lược test
 Các kiểu test
 Test chức năng
Mục đích test

Đảm bảo mục tiêu test đúng đắn của chức năng, bao gồm định


hướng, dữ liệu đầu vào, xử lý và dữ liệu nhận được
Cách thực hiện Thực hiện mỗi UC, chu trình UC hoặc chức năng, sử dụng dữ
liệu hợp lệ và không hợp lệ để kiểm tra:
-

Kết quả mong đợi với dữ liệu hợp lệ: đăng nhập thành công

với mỗi chức năng:


Quản trị viên: đăng nhập, bảo trì các sản phẩm, bảo trì tài
khoản khách hàng



Khách hàng: đăng nhập, xem thông tin tài khoản cá nhân,
mua và hủy được hàng

-

Lỗi thích hợp hoặc thơng báo hiển thị khi dữ liệu không hợp

lệ: đăng nhập không thành công, hệ thống yêu cầu nhập lại.
-

Mỗi quy tắc nghiệp vụ đều được áp dụng đúng


Điều


kiện

hoàn thành

Các

vấn

- Toàn bộ kế hoạch test đã được thực hiện.
- Toàn bộ các lỗi phát hiện ra đã được ghi nhận.

đề

đặc biệt
 Test giao diện người sử dụng
Mục đích test

Kiểm tra:
- Việc sử dụng thông qua mục tiêu test phản ánh đúng các chức
năng và yêu cầu nghiệp vụ, bao gồm màn hình đến màn hình,
trường đến trường và sử dụng các phương pháp truy cập (phím
tabs, di chuột, tổ hợp phím)
-

Các đối tượng và thuộc tính màn hình như menus, size,

position, state, và tập trung vào việc tương thích với chuẩn.
Cách
thực hiện


thức

- Tạo ra và chỉnh sửa test cho mỗi màn hình để kiểm tra việc sử
dụng đúng cách và tình trạng các đối tượng cho mỗi màn hình
và đối tượng của ứng dụng
Test giao diện lúc khởi tạo(là lúc mở màn hình lên rồi test
liền,khơng thao tác gì cả)Lúc này ta test được giá trị mặc
định,kích thước,màu sắc,..của các item.Kiểm tra xem giá trị
trong các cái item có được đúng với bản yêu cầu đặc tả của
khách hàng khơng. Ví dụ: có nhiều item có tên khơng đúng với
đặc tả.
+ Kiểm tra màu nền chung của toàn bộ màn hình
+ Kiểm tra background (màu nền) của tất cả các textbox
+ Kiểm tra màu chữ
+ Kiểm tra mặc định tất cả các ký tự chữ và ký tự số đều canh
trái.
+ Kiểm tra màu chữ, font, font size của tất cả các dòng văn bản



×