Báo Cáo Thực Tập: Kiểm Thử Tự Động Với Python & Selenium Trên Website Guru99 Bank

Chuyên khảo phân tích Automation test with python selenium on website guru99 bank, đánh giá các khía cạnh quan trọng, đề xuất hướng nghiên cứu tiếp theo.

Trường đại học

Đại học Đà Nẵng

Người đăng

Ẩn danh

Thể loại

Báo cáo thực tập nghề nghiệp
56
4
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

LỜI CAM ĐOAN

MỤC LỤC

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 TMA VÀ VỊ TRÍ TESTER

1.1. Giới thiệu tổng quát về công ty TMA Bình Định

1.2. Quá trình hình thành và phát triển của công ty

1.3. Tầm nhìn và sứ mệnh

1.4. Tổng quan về vị trí Tester

1.5. Mô tả về vị trí Tester

1.6. Các kỹ năng cần có của một Tester

1.7. Cơ hội nghề nghiệp

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. Tổng quan về kiểm thử phần mềm

2.2. Giới thiệu về kiểm thử phần mềm

2.3. Các nguyên tắc của kiểm thử phần mềm

2.4. Các mô hình của vòng đời phát triển phần mềm

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

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

2.7. White Box Testing & Black Box Testing & Gray Box Testing

2.8. Các cấp độ của kiểm thử

2.9. Kỹ thuật thiết kế Testcase

2.10. Thiết kế dựa trên đặc điểm kỹ thuật

2.11. Thiết kế dựa trên kinh nghiệm

2.12. Bug và vòng đời của Bug

2.13. Tổng quan về Python

2.14. Ứng dụng của Python

2.15. Tổng quan về Selenium

2.16. Ưu điểm và nhược điểm của Selenium

3. CHƯƠNG 3: TRIỂN KHAI KIỂM THỬ

3.1. Tổng quan về website Guru99 Bank

3.2. Giới thiệu về website Guru99 Bank

3.3. Đặc tả chức năng

3.4. Thiết kế Test case

3.5. Test Case chức năng “Login”

3.6. Test Case chức năng “Add New Customer”

4. 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 Với Python Selenium

Kiểm thử tự động là một phần quan trọng trong quy trình phát triển phần mềm hiện đại. Sử dụng Python cho kiểm thửSelenium cho kiểm thử giúp tăng tốc độ và độ chính xác trong việc phát hiện lỗi. Bài viết này sẽ khám phá cách thức hoạt động của kiểm thử tự động trên website Guru99 Bank, từ đó cung cấp cái nhìn tổng quan về quy trình và lợi ích của nó.

1.1. Giới Thiệu 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 phần mềm khác. Mục tiêu chính là phát hiện lỗi và đảm bảo chất lượng sản phẩm. Việc áp dụng kiểm thử tự động giúp tiết kiệm thời gian và nguồn lực, đồng thời nâng cao độ chính xác trong việc phát hiện lỗi.

1.2. Lợi Ích Của Việc Sử Dụng Python Selenium

Python là ngôn ngữ lập trình mạnh mẽ, dễ học và có nhiều thư viện hỗ trợ kiểm thử. Selenium là công cụ kiểm thử tự động phổ biến, cho phép kiểm thử trên nhiều trình duyệt khác nhau. Sự kết hợp này mang lại hiệu quả cao trong việc kiểm thử web.

II. Vấn Đề Trong Kiểm Thử Tự Động Trên Website Guru99 Bank

Mặc dù kiểm thử tự động mang lại nhiều lợi ích, nhưng vẫn tồn tại một số thách thức. Các vấn đề như tính ổn định của website, sự thay đổi thường xuyên trong giao diện người dùng và khả năng tương thích giữa các trình duyệt có thể gây khó khăn cho quá trình kiểm thử.

2.1. Thách Thức Về Tính Ổn Định Của Website

Tính ổn định của website là yếu tố quan trọng trong kiểm thử. Nếu website thường xuyên thay đổi, các test case có thể trở nên lỗi thời, dẫn đến việc kiểm thử không chính xác.

2.2. Khả Năng Tương Thích Giữa Các Trình Duyệt

Mỗi trình duyệt có cách xử lý mã khác nhau. Điều này có thể dẫn đến việc một số chức năng hoạt động trên trình duyệt này nhưng không hoạt động trên trình duyệt khác, gây khó khăn trong việc kiểm thử.

III. Phương Pháp Kiểm Thử Tự Động Trên Website Guru99 Bank

Để thực hiện kiểm thử tự động hiệu quả, cần xây dựng một quy trình rõ ràng. Quy trình này bao gồm việc xác định các chức năng cần kiểm thử, thiết kế test case và thực hiện kiểm thử bằng Python và Selenium.

3.1. Xác Định Chức Năng Cần Kiểm Thử

Việc xác định chức năng cần kiểm thử là bước đầu tiên và quan trọng. Các chức năng như đăng nhập và thêm khách hàng mới là những chức năng chính cần được kiểm thử để đảm bảo tính chính xác và hiệu quả.

3.2. Thiết Kế Test Case

Test case cần được thiết kế chi tiết, bao gồm các bước thực hiện và kết quả mong đợi. Điều này giúp đảm bảo rằng tất cả các tình huống có thể xảy ra đều được kiểm tra.

3.3. Thực Hiện Kiểm Thử Với Python Selenium

Sử dụng Python và Selenium để tự động hóa quá trình kiểm thử. Việc này không chỉ giúp tiết kiệm thời gian mà còn nâng cao độ chính xác trong việc phát hiện lỗi.

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

Kiểm thử tự động không chỉ giúp phát hiện lỗi mà còn cung cấp thông tin quan trọng về chất lượng phần mềm. Kết quả kiểm thử có thể được sử dụng để cải thiện quy trình phát triển và nâng cao chất lượng sản phẩm.

4.1. Đánh Giá Chất Lượng Phần Mềm

Kết quả từ kiểm thử tự động giúp đánh giá chất lượng phần mềm một cách khách quan. Điều này giúp các nhà phát triển nhận diện và khắc phục lỗi kịp thời.

4.2. Cải Thiện Quy Trình Phát Triển

Thông qua việc phân tích kết quả kiểm thử, các nhà phát triển có thể cải thiện quy trình phát triển phần mềm, từ đó nâng cao hiệu quả và giảm thiểu rủi ro.

V. Kết Luận Về Kiểm Thử Tự Động Với Python Selenium

Kiểm thử tự động với Python và Selenium là một giải pháp hiệu quả cho việc đảm bảo chất lượng phần mềm. Việc áp dụng công nghệ này không chỉ giúp tiết kiệm thời gian mà còn nâng cao độ chính xác trong việc phát hiện lỗi. Tương lai của kiểm thử tự động hứa hẹn sẽ còn phát triển mạnh mẽ hơn nữa.

5.1. Tương Lai Của Kiểm Thử Tự Động

Với sự phát triển không ngừng của công nghệ, kiểm thử tự động sẽ ngày càng trở nên phổ biến và cần thiết trong quy trình phát triển phần mềm.

5.2. Khuyến Nghị Đối Với Các Nhà Phát Triển

Các nhà phát triển nên đầu tư vào việc học hỏi và áp dụng kiểm thử tự động để nâng cao chất lượng sản phẩm và đáp ứng nhanh chóng các yêu cầu của thị trường.

14/07/2025

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

CHƯƠNG 1: TỔNG QUAN VỀ CÔNG TY TMA VÀ VỊ TRÍ TESTER 1. Giới thiệu tổng quát về công ty TMA Bình Định 1. Quá trình hình thành và phát triển của công ty: - TMA Solutions được thành lập năm 1997, 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ệ cao hàng đầu thế giới từ 30 quốc gia. - Với 26 năm phát triển vững mạnh, TMA đã xây dựng được một đội ngũ với hơn 4,000 kỹ sư tài năng, nhiệt huyết luôn nhận được sự đánh giá cao từ phía khách hàng, cùng chung tay xây dựng hình ảnh TMA - đối tác tin cậy trên bản đồ công nghệ thông tin toàn cầu.

- TMA hiện có 7 chi nhánh tại Việt Nam (6 tại TP Hồ Chí Minh và 1 ở TP Quy Nhơn) cùng với 6 văn phòng ở nước ngoài (Mỹ, Canada, Pháp, Nhật, Úc, Singapore). - Tháng 6 năm 2018, TMA đã mở chi nhánh tại Bình Định. Sau 5 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.

Logo công ty TMA Solutions Bình Định 1. Tầm nhìn và sứ mệnh: - Là trung tâm phần mềm đầu tiên tại Thung lũng Sáng tạo Quy Nhơn, Công viên Sáng tạo TMA mang sứ mệnh trở thành trung tâm phát triển phần mềm và công nghệ cao hàng đầu tại miền Trung, góp phần quan trọng đưa Thung lũng sáng tạo Quy Nhơn trở 1 thành một điểm đến của công nghệ 4.0 tại Việt Nam. Công viên Sáng tạo TMA bao gồm Trung tâm Phát triển Phần Mềm, Xưởng Phần mềm, Trung tâm R&D, Trung tâm Khoa học Dữ liệu, Học viện Công Nghệ…với tổng diện tích sử dụng hơn 15,000m. Dịch vụ: - Với kinh nghiệm phong phú, TMA mang đến cho khách hàng các giải pháp toàn diện trong nhiều lĩnh vực với việc đồng hành cùng khách hàng từ giai đoạn tư vấn, ý tưởng, phân tích yêu cầu, tới các giai đoạn thiết kế, kiểm thử cho đến khi hoàn thiện sản phẩm và vận hành hệ thống 24/24.

+ Lập kế hoạch dự án ( Project Planning ): Lập kế hoạch dự án theo các mục tiêu và chiến lược của khách hàng với các giai đoạn triển khai theo thứ tự ưu tiên. + Tư Vấn ( Solutions Consulting ): Phân tích hệ thống hiện tại và đề xuất các giải pháp giúp các công ty áp dụng các công nghệ mới để nâng cao năng lực cạnh tranh và hiệu quả hoạt động. + Phát Triển Sản Phẩm Mẫu (Prototyping, Proof of Concept): Đánh giá tính khả thi của ý tưởng. Phát triển sản phẩm mẫu trong thời gian ngắn nhất.

+ Nghiên Cứu & Phát Triển (R&D): Đánh giá và thử nghiệm các công nghệ và phương pháp khác nhau để đề xuất giải pháp khả thi và phù hợp nhất. + Thiết Kế Giao Diện (UX/UI Design): Thiết kế giao diện Web, smart phone,máy tính bảng. Cải tiến giao diện để tăng tính tương tác và trải nghiệm người dùng. + Phát Triển Phần Mềm (Software Development): Phát triển phần mềm với các công nghệ khác nhau.

Nâng cấp phần mềm sẵn có. + Kiểm Thử Phần Mềm (Software Testing): Đánh giá chất lượng phần mềm với nhiều tiêu chí khác nhau. Kiểm thử tự động. + Chuyển Đổi Hệ Thống (Porting & Migration): Chuyển đổi hệ thống cũ sang các công nghệ mới để tăng hiệu suất.

Chuyển đổi dữ liệu. + Quản Trị Hệ Thống (IT Managed Services): Tư vấn, thiết kế hệ thống mạng, máy tính, đường truyền, bảo mật. Quản trị về máy chủ và điện toán đám mây, hỗ trợ và bảo trì các ứng dụng. Giải pháp điều hành và giám sát hệ thống mạng (NOC - Network Operation Center).

2 + Dịch Vụ Bảo Mật (Security Services): Kiểm tra, đánh giá và cải tiến hệ thống an toàn thông tin. Xây dựng hệ thống giám sát an ninh mạng (SOC - Security Operation Center). Tổng quan về vị trí Tester 1. Mô tả về vị trí Tester: - Tester chính là những người làm nhiệm vụ thử phần mềm để từ đó tìm kiếm ra các lỗi, các sai sót hay những vấn đề cụ thể nào đó có thể ảnh hưởng tới chính phần mềm khi đưa vào sử dụng.

Đây chính là những người thực hiện kiểm tra phần mềm, hay những dự án tương tự như vậy giúp xác định được error, bug, hay mọi vấn đề mà chính người dùng có nguy cơ gặp phải. Các kỹ năng cần có của một Tester: - Nắm vững kiến thức cơ bản : Hiểu về ngôn ngữ lập trình, kiến thức về hệ điều hành, cơ sở dữ liệu, mạng máy tính và các công nghệ liên quan khác sẽ giúp bạn hiểu rõ hơn về phần mềm và triển khai các kiểm thử. - Luôn không ngừng đổi mới, sáng tạo: Công nghệ và phương pháp kiểm thử phần mềm luôn thay đổi và phát triển. Do đó, để trở thành một tester giỏi, bạn cần luôn cập nhật kiến thức và sẵn lòng học hỏi những kỹ thuật mới để áp dụng vào công việc.

- Kỹ năng phân tích: Trang bị cho mình kỹ năng phân tích nhanh chóng, nhạy bén và có độ chính xác cực cao. Chú ý, xem xét một vấn đề ở nhiều khía cạnh khác nhau, phân tích từng chức năng để tìm ra từng lỗi nhỏ nhất. - Khả năng học hỏi nhanh: Học hỏi những người đi trước và có kinh nghiệm sẽ giúp bạn tiến bộ rất nhanh trong công việc. Nếu học hỏi nhanh các quy trình và cách sử dụng công cụ testing thì bạn cũng sẽ tiến bộ rất nhanh, cũng như phát triển sự nghiệp hơn trong tương lai.

- Kỹ năng giao tiếp, làm việc nhóm : Tester thường phải tương tác với các thành viên trong nhóm phát triển và các bên liên quan khác. Việc giao tiếp rõ ràng và hiệu quả giữa các thành viên trong nhóm là rất quan trọng để đảm bảo rằng các lỗi và vấn đề được ghi nhận và giải quyết đúng thời điểm. - Kỹ năng ngoại ngữ (tiếng Anh): Tiếng Anh đặc biệt quan trọng trong ngành công nghệ thông tin với chung, và cả vị trí Tester nói riêng. Cải thiện kỹ năng đọc hiểu sẽ giúp 3 bạn tìm hiểu sâu hơn về ngành qua các tài liệu tiếng Anh.

Ngoài ra, tiếng Anh còn giúp bạn tăng cơ hội việc làm đối với các công ty nước ngoài đang tìm kiếm nhân lực tại Việt Nam. - Tỉ mỉ, chi tiết và kiên trì: Tester cần có khả năng thực hiện các bước kiểm thử một cách chi tiết và nhất quán. Bạn cần kiên nhẫn để kiểm tra từng chức năng, từng bước một và lặp lại quá trình kiểm thử nhiều lần để đảm bảo tính ổn định và hiệu quả của phần mềm. Cơ hội nghề nghiệp: - Từ một nghề còn khá xa lạ đối với các bạn trẻ, Tester đang dần trở thành một nghề "HOT" tại Việt Nam với nhu cầu tuyển dụng ngày càng tăng cao.

Đây cũng được coi là một nghề nghiệp ổn định, đặc biệt là có cơ hội thăng tiến rõ ràng dựa vào năng lực và thâm niên.Môi trường làm việc năng động,cơ hội thăng tiến cao,tiếp xúc trực tiếp với khách hàng nước ngoài,lương thưởng khá cao và ổn định,thường xuyên được cập nhật những công nghệ mới, … là những lợi thế của Tester trên thị trường lao động hiện nay. 4 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2. Tổng quan về kiểm thử phần mềm 2. Giới thiệu về kiểm thử phần mềm: - Kiểm thử phần mềm (software testing) là hoạt động nhằm tìm kiếm và phát hiện ra các lỗi của phần mềm, đảm bảo phần mềm chính xác, đúng và đầy đủ theo yêu cầu của khách hàng, yêu cầu của sản phẩm đã đặt ra.

Software testing cũng cung cấp mục tiêu, cái nhìn độc lập về phần mềm điều này cho phép đánh giá và hiểu rõ các rủi ro khi thực thi phần mềm. - Mục tiêu của kiểm thử phần mềm: + Xác định chất lượng của sản phẩm + Ngăn chặn phòng tránh lỗi + Sẵn sàng tích hợp các thành phần + Cung cấp thông tin để ra quyết định + Xác minh và xác thực yêu cầu của người dùng + Xây dựng sự tự tin trong công việc Hình 2. Vòng đời phát triển phần mềm 5 - SDLC hay còn gọi là Vòng đời phát triển phần mềm là một quy trình sản xuất phần mềm. Mục đích của nó nhằm đảm bảo chất lượng phần mềm đạt cao nhất với chi phí thấp nhất trong một khoảng thời gian ngắn nhất có thể.

SDLC cung cấp chu trình với cấu trúc từng giai đoạn giúp tổ chức nhanh chóng đưa sản phẩm chất lượng cao đã được qua giai đoạn kiểm tra và sẵn sàng triển khai cho người sử dụng. - SDLC gồm 6 giai đoạn : + Phân tích yêu cầu & lập kế hoạch: “Yêu cầu” là giai đoạn đầu tiên trong quá trình SDLC. Nhóm phát triển thu thập các yêu cầu từ một số bên liên quan như khách hàng, các chuyên gia nội bộ và bên ngoài cũng như các nhà quản lý để tạo ra một tài liệu về thông số kỹ thuật yêu cầu của phần mềm. Kết quả của giai đoạn này là tài liệu đặc tả yêu cầu phần mềm đóng vai trò là điểm khởi đầu cho giai đoạn phát triển tiếp theo.

Giai đoạn lập kế hoạch giúp xác định được chi phí và nguồn lực cần thiết tối thiểu để có thể thực hiện được các yêu cầu của sản phẩm phần mềm và cung cấp các kế hoạch dự trù nhằm giảm bớt rủi ro có thể xảy ra. + Thiết kế : Trong giai đoạn này, hệ thống và tài liệu thiết kế phần mềm được chuẩn bị theo tài liệu đặc tả yêu cầu, giúp xác định kiến trúc hệ thống tổng thể. Vào cuối giai đoạn này, tài liệu thiết kế được hoàn thành. Nó được xem xét bởi tất cả các bên liên quan và dựa trên các thông số khác nhau như đánh giá rủi ro, tính lâu dài của phần mềm, các mô-đun thiết kế, hạn chế về ngân sách và thời gian, phương pháp thiết kế tốt nhất được lựa chọn cho sản phẩm… + Phát triển : Giai đoạn phát triển là giai đoạn mà các Developer thực sự viết code và xây dựng ứng dụng theo các tài liệu thiết kế và các thông số kỹ thuật đã vạch ra, sử dụng ngôn ngữ lập trình và framework đã được chọn.Các nhiệm vụ được chia thành các đơn vị hoặc mô-đun và được phân bổ cho các nhà phát triển cụ thể.

+ Kiểm thử : Sau khi hoàn tất phần lập trình phần mềm, sản phẩm sẽ tiếp tục chuyển cho các tester (người kiểm thử phần mềm).

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 Với Python & Selenium Trên Website Guru99 Bank" cung cấp cái nhìn sâu sắc về quy trình kiểm thử tự động trong lĩnh vực phát triển phần mềm, đặc biệt là ứng dụng Python và Selenium để kiểm tra các chức năng của website ngân hàng. Bài viết không chỉ hướng dẫn cách thiết lập môi trường kiểm thử mà còn chia sẻ các kỹ thuật và mẹo hữu ích để tối ưu hóa quy trình kiểm thử. Độc giả sẽ nhận được lợi ích từ việc hiểu rõ hơn về cách tự động hóa kiểm thử, giúp tiết kiệm thời gian và nâng cao độ chính xác trong việc phát hiện lỗi.

Nếu bạn muốn mở rộng kiến thức của mình về kiểm thử tự động, hãy tham khảo thêm tài liệu Phương pháp sinh dữ liệu kiểm thử tự động từ biểu đồ tuần tự UML, biểu đồ lớp và ràng buộc OCL, nơi bạn sẽ tìm thấy các phương pháp sinh dữ liệu hữu ích cho kiểm thử tự động. 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 khám phá thêm về các công cụ khác trong lĩnh vực kiểm thử tự động. Cuối cùng, bạn có thể tìm hiểu về Kiểm thử shopping website bằng phương pháp kiểm thử tự động để nắm bắt cách kiểm thử các trang web thương mại điện tử hiệu quả hơn. Những tài liệu này sẽ là cơ hội tuyệt vời để bạn mở rộng kiến thức và kỹ năng trong lĩnh vực kiểm thử tự động.