TỔNG QUAN VỀ CÔNG TY VÀ VỊ TRÍ VIỆC LÀM
Giới thiệu công ty
Công ty cổ phần TC PLATFORM, viết tắt là TC PLATFORM, được thành lập vào ngày 06 - 04 - 2023, chuyên về lập trình máy vi tính Công ty tập trung vào sản xuất và phân phối sản phẩm, dịch vụ trong lĩnh vực công nghệ thông tin và phần mềm, đặc biệt là phát triển phần mềm ứng dụng cho nền tảng di động và web, cùng với việc cung cấp các giải pháp công nghệ và tư vấn.
Hình 1: Thông tin công ty
Tầm nhìn và sứ mệnh
Công ty hướng tới việc trở thành một trong những thương hiệu hàng đầu trong lĩnh vực lập trình, cung cấp dịch vụ tốt nhất trên thị trường Chúng tôi nỗ lực xây dựng cộng đồng kỹ thuật viên và nhà phát triển chuyên nghiệp, tập trung vào phát triển và cung cấp các giải pháp công nghệ tiên tiến, sáng tạo và chất lượng cao cho khách hàng.
Sứ mệnh của công ty là cung cấp giá trị tối đa cho khách hàng thông qua sản phẩm và dịch vụ công nghệ thông tin chất lượng cao Chúng tôi cam kết đáp ứng đầy đủ các yêu cầu và mong muốn của khách hàng, đồng thời phát triển các giải pháp cạnh tranh, góp phần vào sự phát triển bền vững của họ.
Giá trị cốt lõi
- Trách nhiệm: đối với hành động, quyết định, chính sách được áp dụng cho mỗi cá nhân cũng như toàn tập thể nói chung
Tất cả sản phẩm và dịch vụ của TC PLATFORM đều đáp ứng tiêu chuẩn chất lượng cao nhất, nhằm đảm bảo sự hài lòng và niềm tin từ phía khách hàng.
- Cân bằng: hướng đến môi trường làm việc lý tưởng, nơi duy trì được công việc và sức khỏe nhân viên
- Cộng đồng: tích cực đóng góp cho xã hội, thể hiện trách nhiệm và đạo đức
- Trao quyền: khuyến khích sự chủ động, sáng tạo của các thành viên
- Đổi mới: nỗ lực theo đuổi những điều cải tiến, tiếp thu phương thức quản trị kinh doanh mới.
Tổng quan về vị trí việc làm
- Manual Tester là người kiểm thử phần mềm một cách thủ công Vị trí Manual
Tester không yêu cầu kiến thức lập trình sâu nhưng cần có kỹ năng test manual vững vàng, đam mê và tư duy logic Nhiệm vụ của tester là đảm bảo chất lượng phần mềm và thực hiện kiểm tra lỗi trước khi gửi kết quả cuối cùng cho khách hàng.
Công việc của một Manual Tester bao gồm việc kiểm tra và xác minh tính năng, chất lượng cũng như hiệu suất của sản phẩm phần mềm Họ thực hiện kiểm thử thủ công để phát hiện và ghi nhận các lỗi, đảm bảo sản phẩm đạt yêu cầu trước khi phát hành.
1.4.2 Kiến thức và kĩ năng cần thiết:
▪ Kiến thức về chu trình phát triển phần mềm và quy trình kiểm thử
▪ Kiến thức về các nguyên tắc cơ bản của kiểm thử, chẳng hạn như kiểm tra tích hợp, kiểm tra chức năng, kiểm tra đảm bảo chất lượng,…
▪ Kiến thức về kịch bản kiểm thử (test case) và lập kế hoạch kiểm thử
▪ Kĩ năng phân tích: phân tích yêu cầu và tài liệu kiểm thử để có lối đi và tạo ra các kịch bản kiểm thử
▪ Kỹ năng làm việc nhóm: Khả năng làm việc cùng nhóm phát triển, hiểu và thấu hiểu cách ứng dụng được xây dựng và hoạt động
▪ Kỹ năng thành thạo sử dụng các công cụ như Microsoft Excel hoặc Google Sheets để thực hiện tạo các bảng dữ liệu chứa các kịch bản kiểm thử
1.4.3 Con đường phát triển sự nghiệp:
Để trở thành Manual Tester Junior, bạn nên bắt đầu từ vị trí này để nắm vững kiến thức và kỹ năng cơ bản trong kiểm thử phần mềm Việc làm quen với quy trình kiểm thử và các công cụ kiểm thử cơ bản sẽ giúp bạn thu thập kinh nghiệm quý giá từ công việc trực tiếp trên các dự án thực tế.
Để nâng cao khả năng trong lĩnh vực kiểm thử phần mềm, việc phát triển kỹ năng và kiến thức chuyên sâu là rất quan trọng Hãy tiếp tục mở rộng hiểu biết về các phương pháp kiểm thử hiện đại và khám phá các công cụ kiểm thử tiên tiến.
Để thăng tiến trong sự nghiệp kiểm thử phần mềm, sau khi đã xây dựng được nền tảng kiến thức và kỹ năng vững chắc, bạn có thể hướng tới các vị trí cao hơn như Senior Manual Tester, Test Lead hoặc QA Manager Những vị trí này không chỉ yêu cầu nhiều kinh nghiệm mà còn cần khả năng lãnh đạo, quản lý dự án và tư vấn chuyên sâu về quy trình kiểm thử.
Chuyển đổi sang Kiểm thử Tự động giúp mở rộng khả năng và kỹ năng lập trình, đồng thời thúc đẩy sự phát triển trong lĩnh vực kiểm thử tự động và các công cụ liên quan.
CƠ SỞ LÝ THUYẾT VỀ MANUAL TESTER
Lý thuyết cơ bản về kiểm thử
2.1.1 Tại sao cần kiểm thử một sản phẩm?
- Đảm bảo sản phẩm đúng với mong muốn
- Đảm bảo sản phẩm hoạt động
- Đảm bảo sản phẩm có chất lượng tốt
2.1.2 Mục tiêu kiểm thử phần mềm
- Thứ nhất, đảm bảo sản phẩm sau khi xây dựng phải đúng yêu cầu của khách hàng, đáp ứng đầy đủ các chức năng, tính năng của hệ thống
Đảm bảo rằng sản phẩm sau khi hoàn thiện hoạt động đúng theo các yêu cầu chức năng và phi chức năng mà khách hàng đã đề ra là điều cần thiết.
Để đảm bảo thành phẩm đạt chất lượng tốt, cần thiết kế sản phẩm với độ bền cao, hạn chế tối đa lỗi và có khả năng xử lý lỗi một cách nhanh chóng và dễ dàng.
Thực thi kiểm thử, hay còn gọi là execute test, là quá trình thực hiện các test case do tester viết nhằm kiểm tra xem các chức năng của ứng dụng có đáp ứng được kết quả mong đợi theo yêu cầu của khách hàng hay không.
- Execute test bao gồm các giai đoạn:
▪ Thực thi các kịch bản thử nghiệm
▪ Bảo trì kịch bản thử nghiệm
▪ Báo cáo (defects, tình trạng, số liệu, vv).
Tìm hiểu về test case
Test case là tập hợp các hành động nhằm kiểm tra tính năng của hệ thống, xác định tính đúng sai của chúng Nó bao gồm đầu vào, điều kiện kiểm thử, quy trình thực hiện và kết quả mong đợi, phục vụ cho mục tiêu kiểm thử cụ thể Việc này giúp đảm bảo các tính năng phần mềm hoạt động chính xác trước khi được đưa đến tay người dùng cuối.
2.2.2 Tầm quan trọng test case
Test case là tài liệu quan trọng hỗ trợ tester trong quá trình kiểm thử Với nhiều trường hợp cần kiểm tra, test case hoạt động như một danh sách liệt kê các tính năng cần được kiểm tra, giúp đảm bảo không bỏ sót bất kỳ trường hợp nào.
Dựa vào số lượng trường hợp trong thử nghiệm, người thử nghiệm có thể ước lượng tỷ lệ phần trăm hoàn thành các trường hợp thử nghiệm mà chúng tôi đã thực hiện.
Với các test case, tester có thể dễ dàng xác định và lọc ra các bug tồn tại, đồng thời đánh giá số lượng bug Đây là yếu tố quyết định giúp tester đưa ra nhận định về độ ổn định của các chức năng và tính năng.
Test case là tài liệu quan trọng giúp bàn giao công việc cho người mới, cho phép họ dễ dàng thực hiện các bài kiểm tra Đồng thời, test case hỗ trợ quá trình kiểm tra chéo trong đội ngũ tester, giúp họ hiểu và sửa các lỗi phát sinh.
2.2.3 Kỹ thuật kiểm thử với thiết kế test case: giá trị biên, tương đương
- Giá trị biên ( Boundary Value Analysis): Là kỹ thuật thiết kế test case nhằm test những giá trị biên giữa các phân vùng với nhau
▪ Có 2 cách tiếp cận giá trị biên:
▪ Kiểm thử 2 giá trị: giá trị ranh giới (trên đường biên) và giá trị nằm vượt quá chút đường biên
▪ Kiểm thử 3 giá trị: Sử dụng giá trị trước biên, giá trị biên và giá trị vượt quá biên
Hình 2: Kỹ thuật kiểm thử giá trị biên
Phân vùng tương đương (Equivalence Partitioning) là kỹ thuật phân loại dữ liệu đầu vào thành các nhóm dựa trên logic nhất định Kỹ thuật này giúp tester lựa chọn một dữ liệu đại diện từ mỗi phân vùng để thiết kế và thực hiện test case Nếu dữ liệu đầu vào được xác định là hợp lệ hoặc không hợp lệ, thì toàn bộ phân vùng đó cũng sẽ được coi là hợp lệ hoặc không hợp lệ.
▪ Chia thành tối thiểu 2 phân lớp:
▪ 1 phân lớp thỏa mãn điều kiện – Phân lớp hợp lệ
▪ 1 phân lớp không thỏa mãn điều kiện – Phân lớp không hợp lệ
Hình 3: Kỹ thuật kiểm thử phân vùng tương đương
Bug là các lỗi phần mềm trong chương trình hoặc hệ thống máy tính, dẫn đến kết quả không chính xác hoặc không hoạt động theo mong muốn và yêu cầu của khách hàng.
- Một số trường quan trọng của bug:
▪ Issue Type: Loại vấn đề
▪ Summary: Đây là Bug Title, để mô tả tóm tắt về vấn đề hoặc lỗi đã phát hiện
▪ Description: Các bước để hướng dẫn người đọc làm như thế nào để tái hiện ra bug
Độ ưu tiên của bug là yếu tố quan trọng để xác định thứ tự sửa chữa các lỗi trong sản phẩm, vì đội phát triển không thể khắc phục tất cả các bug cùng một lúc Do đó, việc phân loại độ ưu tiên giúp xác định bug nào cần được sửa chữa trước và bug nào có thể chờ đợi.
▪ Attachment: Ảnh hoặc video để làm bằng chứng về bug
2.3.3 Định dạng tiêu đề và mô tả chi tiết về Bug
- Bug title: Miêu tả ngắn gọn, thể hiện được lỗi Tiêu đề tốt còn có thể giúp Dev biết được lỗi mà không cần xem các bước bên trong
- Bug format: Module/chức năng/màn hình: Điều gì sẽ xảy ra khi bạn làm điều gì đó
- Mô tả chi tiết về bug:
• Precondition: Điều kiện tiên quyết, điều kiện cần để test case này chạy được
• Step to reproduce: các bước để thực hiện test case
▪ Actual result: kết quả thực tế
▪ As same as title: tương tự như tiêu đề
▪ Video or picture: ảnh và video minh chứng
Kết quả mong đợi là điều bạn muốn chương trình, màn hình hoặc API thực hiện, thường được xác định dựa vào tài liệu mô tả liên quan.
▪ Environment: thực hiện kiểm tra trên môi trường nào:
2.3.4 Tình trạng và vòng đời của bug
Hình 4: Vòng đời của lỗi
- New/open (tuỳ vào doanh nghiệp, có thể là Todo): khi một lỗi mới được ghi lại và đăng lần đầu tiên
- Assigned: Dev nhận và chỉnh sửa, sau đó chuyển trạng thái đã giao (một số công ty khác đặt là đang thực hiện)
- Fixed: Sau khi Dev chỉnh sửa xong các lỗi và đã xác nhận là sửa xong, bug có thể được chuyển sang trạng thái "Fixed/Đã sửa"
Sau khi nhà phát triển hoàn tất việc sửa lỗi, tester sẽ tiến hành kiểm tra lại chương trình để xác định xem lỗi đã được khắc phục hay chưa Giai đoạn này sẽ được đánh dấu bằng trạng thái "Re-test/Kiểm tra lại".
- Close: Trường hợp Re-test thấy đúng như mong đợi và yêu cầu thì chuyển trạng thái “Close” để kết thúc vòng đời
Nếu lỗi vẫn tiếp diễn sau khi đã được sửa bởi nhà phát triển, tester sẽ chuyển trạng thái của lỗi thành "Reopen" và gửi lại cho nhóm phát triển để khắc phục Lỗi sẽ tiếp tục quay trở lại chu kỳ kiểm tra cho đến khi được giải quyết một cách thỏa đáng.
Mô hình thử nghiệm
Hình 5: Mô hình thác nước
Mô hình thác nước là một phương pháp phát triển phần mềm theo quy trình tuần tự tuyến tính, trong đó mỗi giai đoạn chỉ bắt đầu khi giai đoạn trước đó đã hoàn thành Điều đặc trưng của mô hình này là các giai đoạn không diễn ra đồng thời, mà diễn ra liên tiếp, đảm bảo tính rõ ràng và có tổ chức trong quá trình phát triển.
▪ Đơn giản và dễ hiểu và sử dụng
▪ Các giai đoạn được xử lý và hoàn thành tại một thời điểm
▪ Hoạt động tốt cho các dự án nhỏ hơn, nơi các yêu cầu được hiểu rất rõ
▪ Dễ sắp xếp công việc
▪ Quá trình và kết quả được ghi chép đầy đủ
▪ Số lượng rủi ro và sự không chắc chắn cao
▪ Không phải là một mô hình tốt cho các dự án phức tạp và hướng đối tượng
▪ Mô hình kém cho các dự án dài và đang diễn ra
▪ Rất khó để đo lường sự tiến bộ trong các giai đoạn
▪ Không thể đáp ứng yêu cầu thay đổi
Tích hợp diễn ra như một "vụ nổ lớn" ở giai đoạn cuối, điều này làm cho việc xác định sớm các nút thắt hoặc thách thức về công nghệ và kinh doanh trở nên khó khăn.
Hình 6: Mô hình chữ V
Mô hình chữ V là một quy trình được thực hiện theo tuần tự theo hình chữ
V Nó dựa trên sự liên kết của các giai đoạn kiểm tra để kiểm tra từng giai đoạn phát triển tương ứng Phát triển từng bước liên quan trực tiếp đến giai đoạn thử nghiệm Giai đoạn tiếp theo chỉ bắt đầu sau khi hoàn thành giai đoạn trước, đối với mỗi hoạt động phát triển đang phát triển, có một hoạt động thử nghiệm tương ứng với nó
▪ Đây là một mô hình có tính kỷ luật cao và các giai đoạn được hoàn thành cùng một lúc
▪ Đơn giản và dễ hiểu và sử dụng
▪ Nó cho phép quản lý dự án theo dõi tiến độ một cách chính xác
Mô hình V (V-Model) mang đến một quy trình phát triển phần mềm rõ ràng và có cấu trúc, giúp người dùng dễ dàng hiểu và theo dõi từng bước trong quá trình phát triển.
▪ Giao tiếp tốt hơn: Cấu trúc rõ ràng của V-Model giúp cải thiện giao tiếp giữa khách hàng và nhóm phát triển
▪ Nó không tốt cho các dự án phức tạp và hướng đối tượng
▪ Nó không phù hợp với các dự án mà các yêu cầu không rõ ràng và có nguy cơ thay đổi cao
▪ Mô hình này không hỗ trợ lặp lại các giai đoạn
Mô hình chữ V có tính không linh hoạt do được thiết kế theo dạng tuyến tính và tuần tự, điều này có thể gây khó khăn trong việc điều chỉnh khi có thay đổi về yêu cầu hoặc khi gặp phải các sự kiện bất ngờ.
▪ Tốn thời gian: Mô hình V có thể tốn nhiều thời gian vì nó yêu cầu nhiều tài liệu và thử nghiệm
Hình 7: Mô hình Agile
Phương pháp phát triển phần mềm Agile là một quy trình linh hoạt, cho phép phát triển phần mềm theo chu kỳ gia tăng và nhanh chóng Từ "Agile" trong tiếng Anh mang nghĩa là "khả năng di chuyển nhanh chóng và dễ dàng", thể hiện khả năng thích ứng với sự thay đổi nhanh chóng, điều này rất quan trọng trong phát triển phần mềm Agile.
▪ Thích ứng liên tục với các yêu cầu hoặc hoàn cảnh thay đổi
▪ Sản phẩm có phần mềm hoạt động được phân phối thường xuyên
▪ Sự hợp tác hàng ngày và chặt chẽ giữa những người kinh doanh và các nhà phát triển
▪ Sự hài lòng của khách hàng với việc cung cấp liên tục và sản phẩm phần mềm có giá trị
▪ Khách hàng có thể xem tính năng phần mềm đang hoạt động có đáp ứng mong đợi của họ hay không
▪ Trong phương pháp Agile, tài liệu ít hơn
▪ Đôi khi trong phương pháp Agile, yêu cầu không rõ ràng lắm do đó rất khó dự đoán kết quả mong đợi
▪ Trong một số dự án khi bắt đầu vòng đời phát triển phần mềm, rất khó để ước tính nỗ lực thực tế cần có
▪ Bởi vì các tính năng luôn phát triển, luôn có rủi ro về dự án trường tồn
▪ Đối với các dự án phức tạp, yêu cầu tài nguyên và nỗ lực rất khó ước tính.
Mobile testing
2.5.1 Các hạng mục chính của thử nghiệm ứng dụng di động
Functional testing – Kiểm thử chức năng:
Kiểm thử chức năng trên di động bao gồm kiểm thử tương tác người dùng và kiểm thử giao dịch Kịch bản kiểm tra cơ bản nhất trong kiểm thử chức năng có thể được coi là
▪ Xác nhận các tính năng hoạt động đúng như mô tả
▪ Xác nhận các trường bắt buộc có thực hiện đúng yêu cầu hay không
▪ Xác nhận trên màn hình, các trường bắt buộc hiển thị có gì khác so với các trường không bắt buộc
Interrupt testing – Kiểm thử việc gián đoạn:
Kiểm tra gián đoạn (interrupt testing) là một yếu tố quan trọng trong quy trình kiểm tra ứng dụng di động, nơi ứng dụng sẽ bị ngắt quãng đột ngột bởi các tình huống khác nhau.
▪ Battery: low, full, charging ( điện thoại thông báo pin yếu, pin đầy, cắm sạc)
▪ Alarm: Thông báo báo thức
Usability – Kiểm thử tính khả dụng:
Kiểm tra khả năng sử dụng giúp đảm bảo ứng dụng thao tác dễ dàng và nhanh chóng, ưu tiên sự đơn giản với ít chức năng hơn là một ứng dụng chậm chạp, khó sử dụng và nhiều tính năng phức tạp.
▪ Keyboard: đảm bảo bàn phím có thể được hiện ra hoặc thu nhỏ phù hợp
▪ Notification in/other app (thông báo trong ứng dụng hoặc của ứng dụng khác): đảm bảo hoạt động bình thường, không có sự cố, không giật,lag
Để mở thông báo trong ứng dụng hoặc ứng dụng khác, bạn cần đảm bảo rằng màn hình đang hoạt động bình thường, không bị treo hay đơ.
Danh sách thông báo của di động cần đảm bảo hoạt động mượt mà, không bị treo hay đơ Hãy kiểm tra thường xuyên để quay lại màn hình đang thực hiện một cách hiệu quả.
Đảm bảo rằng thông tin về thời gian, pin và wifi được hiển thị rõ ràng ở phía trên màn hình trong quá trình sử dụng di động.
▪ Rotate ( quay ngang dọc màn hình): đảm bảo có thể quay và không thể quay theo yêu cầu của người dùng
▪ Reopen after killing app (mở lại sau khi tắt ứng dụng): đảm bảo khởi chạy ứng dụng và mở màn hình trang chủ, ứng dụng hoạt động bình thường
▪ Network switching (chuyển đổi mạng): Đảm bảo hoạt động bình thường, không giật, lag
▪ Network disconnected: Xác nhận rằng người dùng sẽ luôn nhận được những thông báo thích hợp trong trường hợp có lỗi xảy ra, khi mất mạng sẽ
2.5.2 Sự khác biệt giữa thử nghiệm ứng dụng di động và ứng dụng web Thử nghiệm trên ứng dụng di động Thử nghiệm trên ứng dụng web
Thử nghiệm được thực hiện trên các thiết bị cầm tay như điện thoại di động, máy tính bảng,…
Thử nghiệm với các thiết bị như máy tính xách tay, máy tính để bàn,
Test chéo giữa các thiết bị, hệ điều hành khác nhau: iOS (Apple), Android
Test chéo các trình duyệt:
Chrome, Firefox, Safari, Edge, vv
Test trên các ứng dụng được tải xuống từ cửa hàng ứng dụng
Test trên trình duyệt có liên kết có sẵn, không cần tải xuống
Tập trung vào nhiều yếu tố như: kiểm thử tính khả dụng, kiểm thử việc gián đoạn
Tập trung vào tính dễ sử dụng và thiết kế UI/UX là yếu tố quan trọng trong phát triển ứng dụng di động Ứng dụng cần được kiểm tra trên nhiều loại kết nối mạng để đảm bảo hiệu suất tối ưu.
Wi-Fi và mạng di động là hai phương thức kết nối chính để truy cập Internet Việc kiểm tra tốc độ tải trang web là cần thiết để đảm bảo trải nghiệm người dùng mượt mà Đồng thời, xử lý sự cố khi mất kết nối cũng rất quan trọng để duy trì hoạt động của ứng dụng web.
Bảng 1: Sự khác biệt thử nghiệm ứng dụng và thử nghiệm web
Kiểm thử hộp đen, hay còn gọi là black box testing, tập trung vào đầu vào và đầu ra của ứng dụng phần mềm, dựa trên các yêu cầu và thông số kỹ thuật Trong phương pháp này, nhóm kiểm thử không cần hiểu biết sâu về cấu trúc và thiết kế bên trong của ứng dụng Quá trình thử nghiệm bao gồm việc so sánh giá trị đầu vào với giá trị đầu ra để đánh giá hiệu quả hoạt động của phần mềm.
Hình 9: Kiểm thử hộp trắng
Kiểm thử hộp trắng xác nhận cấu trúc và hoạt động của mã phần mềm, khác với kiểm thử hộp đen, tập trung vào trải nghiệm người dùng Kiểm thử này yêu cầu kiến thức sâu về ngôn ngữ lập trình, là công cụ mạnh mẽ khi kết hợp với các kỹ thuật loại bỏ lỗi khác để đảm bảo chất lượng phần mềm.
TRIỂN KHAI THỰC NGHIỆM
Tổng quan dự án và ứng dụng Ubuy
3.1.1 Lí do phải xây dựng app trên mobile của công ty
Sự gia tăng số lượng người sử dụng điện thoại di động đã biến thiết bị này thành công cụ chủ yếu để truy cập internet và ứng dụng Việc phát triển một ứng dụng di động sẽ giúp công ty tiếp cận và khai thác tiềm năng thị trường lớn.
- Ứng dụng điện thoại di động mang lại sự tiện lợi và tương tác cho người dùng
- Người dùng có thể truy cập và sử dụng ứng dụng mọi lúc, mọi nơi chỉ cần có kết nối internet và một thiết bị di động
Xây dựng một ứng dụng di động là cách hiệu quả để công ty tạo sự khác biệt và nâng cao khả năng cạnh tranh trong thị trường kinh doanh ngày càng khốc liệt Ứng dụng di động không chỉ giúp thu hút khách hàng mà còn cải thiện trải nghiệm người dùng, từ đó tăng cường sự trung thành của khách hàng đối với thương hiệu.
3.1.2 Quy trình thực hiện của Tester trong nhóm tại công ty
- Đọc yêu cầu: Tester đọc và hiểu yêu cầu dự án, tài liệu yêu cầu
Trong buổi họp trao đổi yêu cầu, việc hiểu rõ và phân tích các yêu cầu là rất quan trọng Chúng ta cần đánh giá kỹ lưỡng để xác định nhu cầu thực sự của khách hàng, đảm bảo rằng mọi yêu cầu đã được hiểu đúng và đầy đủ.
Lãnh đạo nhóm kiểm tra có trách nhiệm phân công công việc cho các thành viên, bao gồm việc chỉ định nhiệm vụ cụ thể, xác định thời hạn hoàn thành và đảm bảo rằng các công việc được phân bổ hợp lý, không bị trùng lặp.
Tester viết test case bằng cách xây dựng kịch bản kiểm thử dựa trên yêu cầu và quy định kiểm thử Quá trình này bao gồm việc tạo ra các ca kiểm thử, dữ liệu kiểm thử và các bước kiểm thử cụ thể để đảm bảo chất lượng sản phẩm.
Xem xét và duyệt test case là bước quan trọng trong quy trình kiểm thử, nhằm đảm bảo rằng các test case đáp ứng đầy đủ yêu cầu và sẵn sàng cho việc thực hiện kiểm thử.
Thực hiện kiểm thử, hay còn gọi là execute test, là quá trình tuân thủ các bước đã được mô tả trong test case Trong quá trình này, cần ghi lại kết quả thực tế của từng bước kiểm thử và xác định bất kỳ vấn đề nào phát sinh.
- Log bug: thực hiện trên công cụ Jira
3.1.3 Tổng quan ứng dụng Ubuy
Ubuy là ứng dụng mua sắm xuyên biên giới hàng đầu, cung cấp cho người dùng trải nghiệm mua sắm lý tưởng với hàng triệu sản phẩm từ các thương hiệu quốc tế nổi tiếng Người dùng có thể lựa chọn từ hơn 100 triệu sản phẩm đến từ các cửa hàng toàn cầu như Mỹ, Anh, Nhật Bản, Hàn Quốc và Trung Quốc.
Quốc Ubuy biến trải nghiệm mua sắm online trên toàn thế giới của bạn trở nên thuận tiện với các cửa hàng toàn cầu chuyên dụng
Hình 10: Logo ứng dụng
3.1.4 Thực hiện kiểm tra một số chức năng trong ứng dụng UBUY
Chức năng cập nhật giới tính:
▪ Chức năng cập nhật giới tính cung cấp cho người dùng khả năng thay đổi và chỉnh sửa thông tin giới tính của họ trong hồ sơ cá nhân
Người dùng có thể lựa chọn giới tính phù hợp với bản thân, bao gồm nam, nữ hoặc giới tính khác, tùy thuộc vào sự lựa chọn cá nhân.
Hình 11: Màn hình chức năng cập nhật giới tính
Chức năng cập nhật mật khẩu
Chức năng cập nhật mật khẩu cho phép người dùng thay đổi mật khẩu hiện tại thành một mật khẩu mới và an toàn hơn, đảm bảo chỉ người dùng hợp lệ có quyền truy cập vào tài khoản của mình.
Khi sử dụng chức năng cập nhật mật khẩu, người dùng cần nhập mật khẩu cũ, mật khẩu mới và xác thực mật khẩu mới để thực hiện thành công việc thay đổi mật khẩu.
Hình 12: Màn hình chức năng cập nhật mật khẩu
3.1.5 Hệ điều hành và thiết bị dùng để test mobile
- Hệ điều hành: IOS và Android
- Thiết bị: Iphone 11, Ipad Gen 9 và Samsung Glaxy S10e.
User story (câu chuyện người dùng)
- User story một số chức năng trong ứng dụng Ubuy:
Chức năng cập nhật giới tính
Hình 13: Tài liệu yêu cầu chức năng cập nhật giới tính
Chức năng cập nhật mật khẩu
Hình 14: Tài liệu yêu cầu chức năng cập nhật mật khẩu.
Quản lý bug trên Jira
- Quản lý lỗi trên Jira của công ty bao gồm việc tạo lỗi, xác định mức định nghiêm trọng của lỗi, và mô tả chi tiết về lỗi
Hình 15: Tạo lỗi và quản lý lỗi trên Jira
KẾT QUẢ ĐẠT ĐƯỢC
Test case
4.1.1 Test case chức năng cập nhật giới tính: a) Test case Permission: các trường hợp thử nghiệm liên quan đến “Quyền truy cập”
Hình 16: Test case Permission chức năng cập nhật giới tính b) Test case Main function: các trường hợp thử nghiệm liên quan đến “Chức năng chính”
Hình 17: Trường hợp kiểm thử chức năng chính để cập nhật giới tính c) Trường hợp kiểm thử xác thực: các tình huống thử nghiệm liên quan đến việc kiểm tra và xác định tính chính xác thông qua việc nhập dữ liệu đầu vào.
Hình 18: Test case Validation chức năng cập nhật giới tính d) Test case Interrupt: các trường hợp thử nghiệm liên quan đến các vấn đề
Hình 19: Test case Interrupt chức năng cập nhật giới tính e) Test case Usability: các trường hợp thử nghiệm liên quan đến các vấn đề về
Hình 20: Test case Usability chức năng cập nhật giới tính f) Test case UI/UX: các trường hợp thử nghiệm liên quan đến “Giao diện” của người dùng
Hình 21: Test case UI/UX chức năng cập nhật giới tính
4.1.2 Test case chức năng cập nhật mật khẩu: a) Test case Permission: các trường hợp thử nghiệm liên quan đến “Quyền truy cập”
Hình 22: Test case Permission chức năng cập nhật mật khẩu b) Test case Main function: các trường hợp thử nghiệm liên quan đến “Chức năng chính”
Hình 23: Trường hợp thử nghiệm chức năng chính của việc cập nhật mật khẩu c) Trường hợp thử nghiệm xác thực/mật khẩu hiện tại: các tình huống thử nghiệm liên quan đến độ chính xác khi nhập dữ liệu vào trường.
Trong bài viết này, chúng tôi sẽ xem xét các trường hợp thử nghiệm liên quan đến chức năng cập nhật mật khẩu, đặc biệt là việc xác thực mật khẩu hiện tại và mật khẩu mới Đối với trường hợp thử nghiệm xác thực mật khẩu mới, chúng tôi sẽ tập trung vào tính chính xác của dữ liệu đầu vào khi người dùng nhập vào trường "mật khẩu mới".
Hình 25: Trường hợp thử nghiệm xác thực/mật khẩu mới cho chức năng cập nhật mật khẩu e) Trường hợp thử nghiệm xác thực/xác nhận mật khẩu: các tình huống thử nghiệm liên quan đến độ chính xác khi nhập dữ liệu vào trường.
Hình 26: Test case Validation/confirm password chức năng cập nhật mật khẩu f) Test case Interrupt: các trường hợp thử nghiệm liên quan đến các trường hợp “Gián đoạn”
Hình 27: Test case Interrupt chức năng cập nhật mật khẩu g) Test case Usability: các trường hợp thử nghiệm liên quan đến các vấn đề về
Hình 28: Test case Usability chức năng cập nhật mật khẩu h) Test case UI/UX: các trường hợp thử nghiệm liên quan đến “Giao diện” của người dùng
Hình 29: Test case UI/UX chức năng cập nhật mật khẩu.
Bug
Các lỗi xảy ra ở chức năng cập nhật mật khẩu:
Hình 30: Bug của chức năng cập nhật mật khẩu.
Quản lý bug trên Jira
- Bug: Thiết bị Android không bị đăng xuất khi người dùng cập nhật mật khẩu thành công trên iOS và ứng dụng web
Hình 31: Log bug trên Jira lỗi các thiết bị không đồng bộ
- Bug: Ứng dụng trên web không bị đăng xuất khi người dùng cập nhật mật khẩu thành công trên iOS và Android
Hình 32: Log bug trên Jira lỗi các thiết bị không đồng bộ
- Bug: Thiết bị iOS không bị đăng xuất khi người dùng cập nhật mật khẩu thành công trên thiết bị Android và ứng dụng web
Hình 33: Log bug trên Jira lỗi các thiết bị không đồng bộ
- Bug: Màn hình cập nhật mật khẩu có thể xoay khi người dùng sử dụng các thiết bị di động
- Bug: Hiển thị dấu * với các trường bắt buộc khi người dùng không điền thông tin của trường bắt buộc
Hình 35: Log bug trên Jira lỗi không hiển thị dấu * đối với các trường bắt buộc
- Bug: Ứng dụng hiển thị thông báo không hợp lệ khi không có kết nối mạng
Hình 36: Log bug trên Jira lỗi hiển thị thông báo không hợp lệ
- Bug: Ứng dụng hiển thị thông báo không hợp lệ khi người dùng bỏ trốn/dấu cách trường “mật khẩu hiện tại”
Hình 37: Ứng dụng hiển thị thông báo không hợp lệ
Kết quả sau khi thực hiện
4.4.1 Chức năng cập nhật giới tính
PASSED FAILED BLOCKED INVALID ASSIGNEE
Bảng 2: Kết quả chức năng cập nhật giới tính
4.4.2 Chức năng cập nhật mật khẩu
PASSED FAILED BLOCKED INVALID ASSIGNEE
Bảng 3: Kết quả chức năng cập nhật mật khẩu
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Quy trình kiểm thử phần mềm bao gồm nhiều phương pháp quan trọng, trong đó có kiểm thử hộp trắng và kiểm thử hộp đen, giúp đánh giá chất lượng mã nguồn và chức năng của phần mềm Kiểm thử các chức năng đảm bảo rằng phần mềm hoạt động đúng theo yêu cầu, trong khi kiểm thử giao diện người dùng tập trung vào trải nghiệm người dùng Cuối cùng, kiểm thử hiệu năng giúp xác định khả năng chịu tải và tốc độ của phần mềm, từ đó nâng cao hiệu quả và độ tin cậy của sản phẩm.
▪ Kiến thức về các loại kiểm thử như kiểm thử chức năng, kiểm thử tích hợp, kiểm thử hệ thống, kiểm thử hiệu suất và kiểm thử bảo mật
▪ Kiến thức về nền tảng và công nghệ, hiểu biết về các nền tảng phần mềm như hệ điều hành iOS, Android, Window,
Kỹ năng phân tích đóng vai trò quan trọng trong việc xác định phạm vi kiểm thử và các trường hợp kiểm thử cần thiết Điều này bao gồm việc phân tích yêu cầu, tài liệu hướng dẫn và các thông tin liên quan để đảm bảo quy trình kiểm thử được thực hiện hiệu quả.
▪ Kỹ năng tạo và thiết kế kịch bản kiểm thử: sử dụng các công cụ để tạo và thiết kế kịch bản kiểm thử
Kỹ năng thực hiện kiểm thử là việc thực hiện các bước kiểm thử theo kịch bản đã định và ghi lại kết quả một cách chi tiết Điều này đòi hỏi người kiểm thử phải có sự chính xác, cẩn thận và kiên nhẫn để đảm bảo chất lượng sản phẩm.
Kỹ năng ghi chú và báo cáo là rất quan trọng trong việc ghi lại các vấn đề phát sinh, lỗi tìm thấy và đề xuất cải tiến Việc tạo ra các báo cáo chi tiết và dễ hiểu giúp trình bày thông tin một cách hiệu quả cho các bộ phận liên quan.
Trong quá trình học, tôi đã nắm vững các kiến thức liên quan đến kiểm thử thủ công và quy trình phát triển phần mềm Tôi cũng đã học cách đọc và phân tích yêu cầu để thiết kế test case một cách chính xác và hợp lý Qua đó, tôi tiếp cận gần hơn với lĩnh vực Testing, bao gồm các loại kiểm thử như kiểm thử tích hợp, kiểm thử hệ thống và kiểm thử đơn vị.
Trong quá trình thực tập, tôi đã thực hành dự án thực tế, áp dụng kiến thức lý thuyết đã học và tự nghiên cứu để tham gia đóng góp vào các dự án tại công ty Tôi hiểu rõ quy trình làm việc, giao tiếp hiệu quả với đồng nghiệp, quản lý thời gian tốt và giải quyết các thách thức trong công việc hàng ngày.
- Thiếu kinh nghiệm: vẫn còn thiếu kinh nghiệm rất nhiều so với những người đã từng làm tại công ty trong thời gian dài
- Thích nghi: thiếu khả năng thích nghi tốt khi gặp một vấn đề khó khăn
- Khả năng tự quản lý và lập kế hoạch: thiếu khả năng tự quản lý thời gian, ưu tiên công việc và lập kế hoạch làm việc hiệu quả
- Thiếu kĩ năng giao tiếp hiệu quả trong công việc
Nâng cao khả năng phân tích và giải quyết vấn đề là rất quan trọng trong việc xác định các vùng rủi ro tiềm ẩn trong ứng dụng Đảm bảo rằng tất cả các khả năng được kiểm tra kỹ lưỡng sẽ giúp tối ưu hóa hiệu suất và an toàn của hệ thống.
- Tập trung vào việc tối ưu hóa thời gian và thực hiện lập các kế hoạch phù hợp
Phát triển khả năng giao tiếp và làm việc nhóm là rất quan trọng, giúp trao đổi thông tin một cách rõ ràng và hiệu quả giữa các thành viên trong dự án Điều này đảm bảo rằng mọi người đều hiểu rõ yêu cầu và mục tiêu chung.
Để nâng cao chất lượng công việc trong lĩnh vực manual testing, việc cập nhật kiến thức và theo dõi các xu hướng mới là rất quan trọng Bạn có thể tham gia các khóa học, hội thảo và đọc sách để duy trì và mở rộng hiểu biết của mình.
CHECK LIST CỦA BÁO CÁO
STT Nội dung công việc Có Không Ghi chú
1 Báo cáo được trình bày (định dạng) đúng với yêu cầu x
2 Báo cáo có số lượng trang đáp ứng đúng yêu cầu (30-50 trang) x
Báo cáo trình bày được phần mở đầu bao gồm: Mục tiêu,
Phạm vi và đối tượng, kết cấu
Báo cáo này trình bày chi tiết về công ty, mô tả vị trí việc làm bao gồm nhiệm vụ cụ thể, kiến thức và kỹ năng cần thiết cho công việc, cùng với con đường phát triển sự nghiệp Nội dung sẽ được xây dựng dựa trên các cơ sở lý thuyết phù hợp, đảm bảo tính logic và khoa học Tài liệu sẽ có độ dài tối đa từ 10 đến 12 trang, cung cấp cái nhìn toàn diện về lĩnh vực nghề nghiệp và cơ hội thăng tiến trong công ty.
Báo cáo có sản phẩm cụ thể phù hợp với mục tiêu đặt ra của đề tài x
6 Báo cáo có phần kết luận và hướng phát triển của đề tài x