Báo Cáo Thực Tập Nghề Nghiệp: Kiểm Thử Tự Động Trên Nền Tảng Web

Chuyên khảo phân tích Kiểm thử tự động trên nền tảng web, đánh giá các khía cạnh quan trọng, đề xuất hướng nghiên cứu tiếp theo., phục vụ nghiên cứu và ứng dụng thực tiễn

Trường đại học

Trường Đại Học Kinh Tế

Người đăng

Ẩn danh

Thể loại

báo cáo thực tập nghề nghiệp

2023

71
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

LỜI CAM ĐOAN

DANH MỤC HÌNH ẢNH

DANH MỤC BẢNG BIỂU

DANH MỤC CÁC TỪ VIẾT TẮT

LỜI MỞ ĐẦU

1. CHƯƠNG 1: TỔNG QUAN VỀ CÔNG TY

1.1. Giới thiệu tổng quát về doanh nghiệp thực tập

1.2. Tổng quát về công ty TMA

1.3. Lĩnh vực hoạt động

1.4. Tổng quan về vị trí việc làm

2. CHƯƠNG 2: TỔNG QUAN VÀ LÝ THUYẾT VỀ KIỂM THỬ PHẦN MỀM

2.1. Cơ sở lý thuyết về kiểm thử phần mềm

2.2. Kiểm thử phần mềm là gì?

2.3. Mục đích của kiểm thử phần mềm

2.4. Nguyên tắc kiểm thử

2.5. Error/Fault/Failure

2.6. Các loại kiểm thử phần mềm

2.7. Các phương pháp kiểm thử phần mềm

2.8. Các cấp độ kiểm thử phần mềm

2.9. Kỹ thuật thiết kế trường hợp kiểm thử

2.10. Vòng đời lỗi

2.11. Vòng đời phát triển phần mềm (SDLC)

3. CHƯƠNG 3: TRIỂN KHAI KIỂM THỬ TỰ ĐỘNG TRÊN NỀN TẢNG WEB

3.1. Công cụ sử dụng

3.2. Tổng quan về Xpath

3.3. Thực hiện kiểm thử

3.4. Cài đặt môi trường kiểm thử

3.5. Môi trường thực hiện

3.6. Phân tích yêu cầu

3.7. Chức năng: Login

3.8. Chức năng: Add product cart

3.9. Chức năng: Order

3.10. Chức năng: Contact

3.11. Chức năng: Delete product in cart

3.12. Chức năng: Sign up

3.13. Thực hiện Automation test bằng Robotframework trên Visual Code

3.14. Code chức năng login

3.15. Code chức năng add product to cart

3.16. Code chức năng order

3.17. Code chức năng contact

3.18. Code chức năng delete products in cart

3.19. Code chức năng sign up

4. CHƯƠNG 4: KẾT QUẢ

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

TÀI LIỆU THAM KHẢO

CHECK LIST CỦA BÁO CÁO

Tóm tắt

I. Tổng Quan Về Kiểm Thử Tự Động Trên Nền Tảng Web Tại TMA Solutions

Kiểm thử tự động trên nền tảng web là một phần quan trọng trong quy trình phát triển phần mềm tại TMA Solutions Bình Định. Đề tài này tập trung vào việc áp dụng các công cụ và phương pháp kiểm thử tự động nhằm nâng cao hiệu quả và chất lượng sản phẩm. Kiểm thử tự động giúp phát hiện lỗi nhanh chóng và giảm thiểu thời gian kiểm thử thủ công, từ đó tối ưu hóa quy trình phát triển phần mềm.

1.1. Khái Niệm Về Kiểm Thử Tự Động

Kiểm thử tự động là quá trình sử dụng phần mềm để kiểm tra các ứng dụng web nhằm phát hiện lỗi và đảm bảo chất lượng. Phương pháp này giúp tiết kiệm thời gian và công sức so với kiểm thử thủ công.

1.2. Lợi Ích Của Kiểm Thử Tự Động

Kiểm thử tự động mang lại nhiều lợi ích như tăng tốc độ kiểm thử, giảm thiểu lỗi do con người, và cải thiện độ chính xác trong việc phát hiện lỗi. Điều này giúp nâng cao chất lượng sản phẩm cuối cùng.

II. Thách Thức Trong Kiểm Thử Tự Động Tại TMA Solutions

Mặc dù kiểm thử tự động mang lại nhiều lợi ích, nhưng cũng tồn tại nhiều thách thức trong quá trình triển khai tại TMA Solutions. Các vấn đề như thiếu hụt tài nguyên, khó khăn trong việc thiết lập môi trường kiểm thử, và sự phức tạp của các ứng dụng web có thể gây khó khăn cho quy trình kiểm thử.

2.1. Thiếu Tài Nguyên Và Kỹ Năng

Một trong những thách thức lớn nhất là thiếu hụt nhân lực có kỹ năng trong lĩnh vực kiểm thử tự động. Điều này ảnh hưởng đến khả năng triển khai và duy trì các kịch bản kiểm thử.

2.2. Phức Tạp Trong Môi Trường Kiểm Thử

Môi trường kiểm thử cần phải được thiết lập chính xác để đảm bảo tính chính xác của các kết quả kiểm thử. Sự phức tạp của các ứng dụng web có thể làm cho việc này trở nên khó khăn.

III. Phương Pháp Kiểm Thử Tự Động Tại TMA Solutions

TMA Solutions áp dụng nhiều phương pháp kiểm thử tự động khác nhau để đảm bảo chất lượng sản phẩm. Các công cụ như Robot Framework và Selenium được sử dụng để thực hiện các kịch bản kiểm thử tự động cho các chức năng của ứng dụng web.

3.1. Sử Dụng Robot Framework

Robot Framework là một công cụ kiểm thử tự động mạnh mẽ, cho phép viết các kịch bản kiểm thử dễ dàng và hiệu quả. Công cụ này hỗ trợ nhiều thư viện và có thể tích hợp với các công cụ khác.

3.2. Tích Hợp Selenium Trong Kiểm Thử

Selenium là một công cụ phổ biến cho kiểm thử tự động các ứng dụng web. TMA Solutions sử dụng Selenium để tự động hóa các tác vụ kiểm thử, giúp tiết kiệm thời gian và nâng cao độ chính xác.

IV. Ứng Dụng Thực Tiễn Của Kiểm Thử Tự Động Tại TMA Solutions

Kiểm thử tự động đã được áp dụng thành công tại TMA Solutions trong nhiều dự án khác nhau. Các kết quả kiểm thử cho thấy sự cải thiện rõ rệt về chất lượng sản phẩm và thời gian phát triển.

4.1. Kết Quả Kiểm Thử Chức Năng

Các chức năng như đăng nhập, thêm sản phẩm vào giỏ hàng, và đặt hàng đã được kiểm thử tự động với kết quả tích cực. Điều này giúp phát hiện lỗi sớm và cải thiện trải nghiệm người dùng.

4.2. Đánh Giá Hiệu Suất Kiểm Thử

Kiểm thử hiệu suất cũng được thực hiện để đảm bảo ứng dụng có thể xử lý lượng người dùng lớn mà không gặp vấn đề. Kết quả cho thấy ứng dụng hoạt động ổn định dưới tải cao.

V. Kết Luận Và Hướng Phát Triển Kiểm Thử Tự Động

Kiểm thử tự động trên nền tảng web tại TMA Solutions đã chứng minh được giá trị của nó trong việc nâng cao chất lượng sản phẩm. Hướng phát triển trong tương lai sẽ tập trung vào việc mở rộng quy mô kiểm thử tự động và cải thiện kỹ năng cho đội ngũ nhân viên.

5.1. Mở Rộng Quy Mô Kiểm Thử

TMA Solutions dự định mở rộng quy mô kiểm thử tự động để bao quát nhiều chức năng hơn trong các ứng dụng. Điều này sẽ giúp nâng cao chất lượng sản phẩm hơn nữa.

5.2. Đào Tạo Nhân Lực Kiểm Thử

Đào tạo và phát triển kỹ năng cho nhân viên là một phần quan trọng trong chiến lược phát triển. Điều này sẽ giúp nâng cao hiệu quả của quy trình kiểm thử tự động.

14/07/2025
Kiểm thử tự động trên nền tảng web

Trích đoạn nội dung tài liệu

CHƯƠNG 1. TỔNG QUAN VỀ CÔNG TY 1. Giới thiệu tổng quát về doanh nghiệp thực tập 1. Tổng quát về công ty TMA Được thành lập năm 1997, TMA là tập đoàn công nghệ hàng đầu Việt Nam với 4000 kỹ sư và khách hàng là những tập đoàn công nghệ hàng đầu thế giới từ 30 quốc gia TMA hiện có 6 chi nhánh tại Việt Nam (5 tại Tp.HCM và 1 ở Tp.Quy Nhơn) cùng 6 chi nhánh ở nước ngoài (Mỹ, Úc, Canada, Đức, Nhật, Singapore).

Tháng 6 năm 2018, TMA đã mở chi nhánh tại Bình Định. Sau hơn 4 năm, TMA Bình Định đã phát triển nhanh chóng với hơn 400 kỹ sư, trong đó có nhiều kỹ sư đang làm việc tại TP.HCM đã trở về làm việc tại quê hương. Tháng 8 năm 2018, TMA đã khởi công xây dựng Công viên Sáng tạo TMA Bình Định (TMA Innovation Park – TIP) trên 10 hecta tại Thung lũng Sáng tạo Quy Nhơn (Quy Nhon Innovation Park – QNIVY) với vốn đầu tư hàng trăm tỷ đồng.1 TMA Solutions Bình Định 1. Lĩnh vực hoạt động ● Tài chính, Ngân hàng và Bảo hiểm 2 ● Sức khỏe/Y tế ● Nông nghiệp & Chế biến thực phẩm ● Khách sạn & Du lịch ● Thương mại điện tử & phân phối ● Giáo dục ● Vận tải & Logistic ● Viễn thông 1.

Tổng quan về vị trí việc làm Hình 1.2 Testing ● Tìm hiểu về tester-Họ là ai: Tester (kiểm thử viên) là người khai phá hệ thống để tìm và báo cáo lại các lỗi tiềm ẩn của hệ thống phần mềm. Và là người có cách nhìn nhận phần mềm tổng quát nhất, ngoài kiến thức chuyên môn thì kiểm thử viên còn phải nắm vững những công cụ hỗ trợ việc kiểm thử. Không những thế các tester còn thường rất mạnh về kỹ năng giao tiếp đặc biệt là hai kỹ năng báo cáo và đặt câu hỏi. 3 ● Tester là làm những công việc gì? Thông thường, trong một dự án kiểm thử phần mềm, tester phải đảm nhiệm những công việc sau: • Phân tích và hiểu rõ các bản mô tả yêu cầu của khách hàng • Xác định hạng mục và quy mô kiểm thử • Hoạch định kiểm thử và xây dựng test plan (kế hoạch kiểm thử) • Xác định test condition (điều kiện kiểm thử) của hạng mục kiểm thử • Thiết kế test case (trường hợp kiểm thử) dựa trên test condition • Xây dựng và sắp xếp test case thành test procedure (phương cách kiểm thử) • Thu thập, tập hợp và lưu trữ test data (dữ liệu kiểm thử) • Thực hiện kiểm thử và tìm ra lỗi có trong phần mềm • Thực hiện tất cả các test level (mức độ kiểm thử) của quy trình kiểm thử • Phân tích kết quả thu được sau mỗi test level khác nhau • Đưa ra đề xuất để cải thiện các quy trình của vòng đời phát triển phần mềm • Báo cáo lỗi cho cấp trên như PM (Project Manager-Quản lý dự án), trưởng nhóm,… • Kiểm duyệt lại lỗi sau khi dev (Developer-Lập trình viên) thông báo đã sửa lỗi • Phát triển automated test script (kịch bản test tự động) khi cần thiết • Hỗ trợ khách hàng kiểm thử phần mềm • Tham gia vào quá trình ra mắt phần mềm và tiếp tục hỗ trợ sau khi đã ra mắt 4 CHƯƠNG 2.

TỔNG QUAN VÀ LÝ THUYẾT VỀ KIỂM THỬ PHẦN MỀM 2. Cơ sở lý thuyết về kiểm thử phần mềm 2. Kiểm thử phần mềm là gì? Kiểm thử phần mềm là phương pháp kiểm tra xem sản phẩm phần mềm đó trên thực tế có phù hợp với các yêu cầu đã đặt ra hay không, và đảm bảo rằng không có lỗi hay khiếm khuyết. Nó bao gồm việc kiểm tra, phân tích, quan sát và đánh giá các khía cạnh khác nhau của sản phẩm.

Người kiểm thử phần mềm (Tester) sử dụng kết hợp các công cụ thủ công và tự động. Sau khi tiến hành kiểm thử, Tester báo cáo kết quả cho team phát triển. Mục đích là xác định các lỗi, khiếm khuyết hoặc các yêu cầu còn thiếu so với yêu cầu thực tế. Mục đích của kiểm thử phần mềm • Đảm bảo chất lượng phần mềm • Ngăn ngừa và phát hiện lỗi • Cung cấp thông tin hỗ trợ ra quyết định cho giai đoạn tiếp theo • Xác minh và xác thực người dùng • Phát hiện ra lỗi trước khi khách hàng phát hiện ra 5 2.

Nguyên tắc kiểm thử Hình 2.3 Nguyên tắc kiểm thử Có 7 nguyên tắc kiểm thử phần mềm • Kiểm thử cho thấy sự hiện diện của lỗi: mục tiêu của kiểm thử phần mềm là tìm ra lỗi chứ không phải chứng minh phần mềm không có lỗi, chúng ta chỉ có thể giảm số lượng lỗi về mức tối thiểu chứ không thể đảm bảo phần mềm 100% không còn lỗi. • Kiểm thử toàn diện là không thể: vì mỗi dự án đều sẽ có thời gian và chi phí nhất định chúng ta chỉ kiểm thử các chức năng chính cũng như là các yêu cầu của khách hàng chứ không thể bao quát tất cả các trường hợp được. • Kiểm thử sớm: lỗi phát hiện càng sớm càng tốt nó sẽ không ảnh hưởng đến các giai đoạn sau chưa tiến hành cũng như tiết kiệm thời gian chi phí cho dự án. 6 • Phân cụm lỗi: các nghiên cứu đã chỉ ra rằng các lỗi trong phần mềm thường tập trung ở các khu vực hoặc mô đun cụ thể.

Bằng cách tập trung nỗ lực kiểm thử ở khu vực đó có thể phát hiện ra một số lỗi đáng kể và cải thiện chất lượng tổng thể của phần mềm. • Nghịch lý thuốc trừ sâu: việc lặp đi lặp lại các trường hợp kiểm thử giống nhau chúng ta sẽ không phát hiện ra các lỗi mới. • Thử nghiệm phụ thuộc vào ngữ cảnh: các loại phần mềm khác nhau thì sẽ kiểm thử khác ví dụ như trang thương mại điện tử và app mobile. • Không có sai lầm ngụy biện: cho dù một phần mềm 99% không có lỗi nhưng không đúng với yêu cầu của khách hàng thì phần mềm đó cũng không sử dụng được.

Error/Fault/Failure • Error là hành động của con người dẫn đến kết quả sai. • Fault lỗi xảy ra khi làm sai các step, process hoặc chuẩn bị dữ liệu. • Failure lỗi khi có kết quả sai lệch so với yêu cầu đặc tả, là sự khác biệt giữa kết quả thực tế trên màn hình và kết quả mong đợi của một thành phần, hệ thống hoặc service nào đó. Verification & Validation 1) Verification (xác minh) Là quá trình xác nhận rằng phần mềm đáp ứng đặc điểm kỹ thuật của nó, được thực hiện thông qua kiểm tra và hướng dẫn.

2) Validation (xác thực) Là quá trình xác nhận rằng nó đáp ứng các yêu cầu của người dùng. Đó là thử nghiệm thực tế. QA & QC 1) Quality Assurance (Đảm bảo chất lượng) Là một tập hợp các hoạt động cần thiết có kế hoạch và có hệ thống để mang lại sự tin cậy đầy đủ rằng các sản phẩm và dịch vụ sẽ phù hợp với các yêu cầu cụ thể và đáp ứng nhu cầu của người dùng. Sản phẩm đó có đúng không? 7 2) Quality Control (Kiểm soát chất lượng) Là quá trình so sánh chất lượng sản phẩm với các tiêu chuẩn áp dụng và hành động được thực hiện khi phát hiện sự không phù hợp.

Đó có phải sản phẩm phù hợp không. Các loại kiểm thử phần mềm 1) Manual testing (kiểm thử thủ công) Tức là chúng ta sẽ không sử dụng bất kỳ tool hay script nào để kiểm thử mà thay vào đó tester sẽ đóng vai trò như là người dùng cuối để kiểm tra xem có lỗi không mong muốn nào xảy ra không. Có nhiều giai đoạn khác nhau để kiểm thử thủ công như là kiểm thử đơn vị, kiểm thử tích hợp, kiểm thử hệ thống và kiểm thử chấp nhận người dùng. Tester sẽ dựa vào plan, các trường hợp kiểm thử và kịch bản để kiểm tra phần mềm.

2) Automation testing (kiểm thử tự động) Là khi tester viết các tập lệnh và sử dụng một phần mềm khác để kiểm tra sản phẩm. Quá trình này liên quan đến việc tự động hóa một quy trình thủ công, nhanh chóng và lặp đi lặp lại. Các phương pháp kiểm thử phần mềm 1) Static testing Kiểm thử tĩnh-xác minh là một kỹ thuật kiểm thử phần mềm được sử dụng để kiểm tra các lỗi trong ứng dụng phần mềm mà không cần thực thi mã. Kiểm thử tĩnh được thực hiện để tránh lỗi ở giai đoạn phát triển ban đầu vì việc xác định lỗi và giải quyết lỗi sẽ dễ dàng hơn.

Nó cũng có thể tìm ra các lỗi có thể không được tìm thấy bằng Dynamic testing. Hai loại kiểm thử tĩnh chính là: ● Kiểm tra thủ công: kiểm tra thủ công bao gồm phân tích mã được thực hiện thủ công, còn được gọi là đánh giá ● Phân tích tự động bằng các công cụ: phân tích tự động về cơ bản là phân tích tĩnh được thực hiện bằng các công cụ. 2) Dynamic testing 8 Kiểm thử động-xác thực là một phương pháp kiểm thử phần mềm được sử dụng để kiểm tra hành vi động của mã phần mềm. Mục đích chính của kiểm thử động là kiểm tra hành vi của phần mềm với các biến động hoặc các biến không cố định và tìm ra các điểm yếu trong môi trường thời gian chạy phần mềm.

Mã này phải được thực thi để kiểm tra hành vi động. Mục đích chính của kiểm thử động là đảm bảo rằng phần mềm hoạt động bình thường trong và sau khi cài đặt phần mềm, đảm bảo ứng dụng ổn định không có bất cứ sai sót lớn nào. Kiểm thử động được phân thành hai loại: ● Kiểm thử hộp trắng ● Kiểm thử hộp đen 3) White box testing Kiểm thử hộp trắng là phương pháp kiểm thử phần mềm trong đó người kiểm thử biết cấu trúc/thiết kế bên trong. Mục đích chính của kiểm thử hộp trắng là để kiểm tra xem hệ thống đang hoạt động như thế nào dựa trên mã.

Những người kiểm thử hộp trắng là những người có kiến thức về lập trình. 4) Black box testing Kiểm thử hộp đen là một phương pháp kiểm thử trong đó người kiểm thử không biết cấu trúc/mã/thiết kế bên trong. Mục đích chính của thử nghiệm này là để xác minh chức năng của hệ thống được kiểm thử và loại kiểm thử này yêu cầu thực hiện bộ kiểm thử hoàn chỉnh và chủ yếu được thực hiện bởi người kiểm thử và không cần bất kỳ kiến thức lập trình nào. Kiểm thử hộp đen được phân ra 2 loại: ● Kiểm thử chức năng (Kiểm thử đơn vị, tích hợp, hệ thống và chấp nhận) ● Kiểm thử phi chức năng (Kiểm thử hiệu suất, phục hồi, khả năng tương thích, bảo mật, khả năng sử dụng) 9 2.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu "Kiểm Thử Tự Động Trên Nền Tảng Web Tại TMA Solutions Bình Định" cung cấp cái nhìn sâu sắc về quy trình kiểm thử tự động trong phát triển phần mềm, đặc biệt là trên nền tảng web. Tác giả nêu rõ tầm quan trọng của việc tự động hóa kiểm thử để nâng cao hiệu quả và độ chính xác, đồng thời giảm thiểu thời gian và chi phí cho các dự án phát triển. Bài viết cũng đề cập đến các công cụ và phương pháp hiện đại được sử dụng trong kiểm thử tự động, giúp người đọc hiểu rõ hơn về cách thức áp dụng chúng trong thực tế.

Để mở rộng kiến thức của bạn về lĩnh vực này, bạn có thể tham khảo thêm tài liệu Kiểm thử shopping website bằng phương pháp kiểm thử tự động, nơi bạn sẽ tìm thấy các ứng dụng cụ thể của kiểm thử tự động trong lĩnh vực thương mại điện tử. Ngoài ra, tài liệu Ứng dụng katalon framework cho thực hiện kiểm thử tự động cho hệ thống quản trị sản xuất sẽ giúp bạn hiểu rõ hơn về việc áp dụng các công cụ kiểm thử tự động trong quản lý sản xuất. Cuối cùng, tài liệu Automation test with python selenium on website guru99 bank sẽ cung cấp cho bạn cái nhìn về việc sử dụng Python và Selenium trong kiểm thử tự động, mở ra nhiều cơ hội học hỏi và áp dụng trong các dự án của bạn.