CHƯƠNG 1: TỔNG QUAN VỀ BÀI TOÁN VÀ LÝ THUYẾT KIỂM THỬ PHẦN MỀM 1. Giới thiệu về đơn vị thực tập Công ty cổ phần Sun-Asterisk (Sun*) được thành lập từ năm 2012, là một công ty phát triển phần mềm với 100% vốn đầu tư từ Nhật Bản. Công ty với tổng số lượng thành viên tới hơn 1500 nhân sự tại 4 quốc gia bao gồm Việt Nam, Singapore, Camuchia và Nhật bản. Tại Việt Nam, công ty hiện có ba trụ sở chính tại ba thành phố lớn: Đà Nẵng, Hà Nội và thành phố Hồ Chí Minh.
Khi mới thành lập, Sun* chỉ là một công ty nhỏ với 15 nhân sự, khi đó Giám đốc Kobayashi Taihei là người đã đưa ra ý tưởng thành lập công ty này với hy vọng sử dụng công nghệ để làm thay đổi cuộc sống con người. Trong những năm đầu, công ty chủ yếu tập trung vào ba lĩnh vực chính: phát triển phần mềm, phát triển nhân sự và phát triển kinh doanh. Sau 11 năm hoạt động và phát triển, Sun* đã mở rộng sang nhiều lĩnh vực khác, với mục tiêu kết nối các doanh nghiệp toàn cầu với nguồn nhân lực hàng đầu ở châu Á. (Sun-Asterisk) Sun* thường xuyên cung cấp tư vấn cho khách hàng trong nhiều lĩnh vực, không chỉ giới hạn ở lập trình, mà còn bao gồm tư vấn chiến lược, quản lý dự án, cung cấp tiếp thị, tài chính.
Với sự gia tăng về số lượng nhân sự, khả năng cung cấp các giải pháp của Sun* đã được mở rộng không chỉ tập trung vào việc phát triển phần mềm, Sun* còn mở rộng hoạt động vào các dịch vụ trong lĩnh vực kinh doanh và thành lập các công ty con. Sun* được biết đến như một "studio", nơi tập trung các chuyên gia đầy đam mê và luôn luôn tìm kiếm các giải pháp. Hiện nay, công ty đang chú trọng vào các lĩnh vực sau: Phát triển phần mềm Outsourcing: Áp dụng linh hoạt mô hình khởi nghiệp và phương pháp agile, hợp tác thành công với nhiều doanh nghiệp lớn và các công ty khởi nghiệp về công nghệ để triển khai các dự án phần mềm đòi hỏi sáng tạo, tốc độ và sự đổi mới. Product: Sun* đã thành công trong việc phát triển các sản phẩm công nghệ độc quyền như Viblo (nền tảng chia sẻ kiến thức về lĩnh vực IT dành cho cộng đồng kỹ sư Việt Nam) và Talky Bird (ứng dụng luyện giao tiếp tiếng Nhật với sự sử dụng của trí tuệ nhân tạo).
Chuyển đổi số Sun* đảm nhận vai trò hỗ trợ và phát triển các giải pháp chuyển đổi kỹ thuật số, nhằm giải quyết các thách thức kinh doanh mà các doanh nghiệp đang phải đối mặt. Tận dụng sức mạnh của công nghệ, Sun* không chỉ tập trung vào việc cung cấp giải pháp Lê Hoài Thương-K23HTTTA 3 Khóa luận tốt nghiệp Nghiên cứu và ứng dụng kiểm thử tự động cho website quản lý tuyển dụng tại công ty cổ phần Sun-asterisk công nghệ hiện đại mà còn điều chỉnh chúng sao cho phản ánh chính xác nhu cầu cụ thể của từng doanh nghiệp. Bằng cách này, Sun* giúp các doanh nghiệp tối ưu hóa quá trình hoạt động, tăng cường hiệu suất và nâng cao sức cạnh tranh trong môi trường kinh doanh hiện đại. ● Chương trình đào tạo nhân sự IT Sun* luôn đề cao việc bồi dưỡng và nâng cao năng lực của đội ngũ kỹ sư công nghệ thông tin, giúp nhân viên không những cập nhật được những xu hướng công nghệ mới nhất mà còn trang bị các kỹ năng cần thiết để thích nghi và phát triển trong môi trường làm việc hiện đại.
Đồng thời, thúc đẩy khả năng sáng tạo và tư duy phản biện, giúp cải thiện hiệu quả công việc thông qua việc áp dụng những phương pháp tiên tiến và công nghệ mới nhất. Ngoài ra, chương trình đào tạo cũng góp phần vào việc xây dựng và duy trì văn hóa doanh nghiệp, thúc đẩy sự gắn kết và đồng lòng trong công ty, đồng thời làm gia tăng sự hài lòng và trung thành của nhân viên, qua đó góp phần nâng cao uy tín và sức cạnh tranh của công ty trên thị trường. Giới thiệu hệ thống quản lý tuyển dụng của công ty cổ phần Sun-asterisk. Tuyển dụng nhân sự không chỉ đơn thuần là một công việc hàng ngày mà mỗi doanh nghiệp thực hiện, mà nó còn là một quy trình phức tạp và liên tục phải điều chỉnh để đảm bảo rằng những ứng viên tốt nhất và phù hợp nhất được tìm kiếm và thu hút vào tổ chức.
Chất lượng hệ thống tuyển dụng của một doanh nghiệp thể hiện câu chuyện của chính tổ chức đó, nơi mà giá trị và mục tiêu của doanh nghiệp được phản ánh qua quy trình tuyển dụng. Một hệ thống tuyển dụng hiệu quả không chỉ cần đảm bảo tuyển mộ các ứng viên một cách nhanh chóng mà còn phải đảm bảo rằng mỗi ứng viên được đánh giá và chọn lọc kỹ càng, phù hợp với nhu cầu và giá trị cốt lõi của công ty. Điều này bao gồm việc phân công nhiệm vụ cho đội ngũ tuyển dụng một cách hiệu quả, từ việc xác định mục tiêu tuyển dụng, thu thập hồ sơ, tiến hành phỏng vấn, cho đến quyết định tuyển dụng và thu hút ứng viên phù hợp. Với mục tiêu xây dựng một hệ thống quản trị tuyển dụng toàn diện cho các doanh nghiệp, công ty đã lên kế hoạch và phát triển hệ thống WSM, một hệ thống tuyển dụng chuyên nghiệp, thông minh, tiện dụng và hiệu quả.
Ứng dụng cho phép tổ chức triển khai linh hoạt các quy trình tuyển dụng: Tự động hóa quy trình tuyển dụng Quản lý nguồn ứng viên Tìm kiếm ứng viên hiệu quả Tạo lịch phỏng vấn với ứng viên 1. Mô tả bài toán Lê Hoài Thương-K23HTTTA 4 Khóa luận tốt nghiệp Nghiên cứu và ứng dụng kiểm thử tự động cho website quản lý tuyển dụng tại công ty cổ phần Sun-asterisk 1. Thực trạng Hiện tại, tại công ty đang phát triền theo mô hình Agile, thông thường dự án sẽ chia thành nhiều giai đoạn để phát triển các tính năng của sản phẩm và sẽ bàn giao sản phẩm cho khách hàng sau khoảng từ 2-4 tuần. Như vậy, trong mỗi giai đoạn cần thực hiện kiểm thử 200-300 cho một chức năng (trên một thiết bị, một trình duyệt, một version của trình duyệt).
Sau mỗi giai đoạn, khi nâng cấp hệ thống có thêm các tính năng mới hoặc sửa lỗi đang tồn tại thì cần thực kiểm thử hồi quy lại toàn bộ các chức năng đã phát triển ở giai đoạn trước đó. Giả sử có một chức năng cần thực hiện kiểm thử 200 testcase ta sẽ có số lượng cần kiểm thử trên các trình duyệt, hệ điều hành như sau: Hình 1.1 Số lượng testcase cần thực hiện theo trình duyệt và hệ điều hành Như vậy, sau mỗi giai đoạn, với mỗi chức năng, nhân viên kiểm thử sẽ thực hiện kiểm thử hồi quy 1000 testcase. Khi thực hiện kiểm thử thủ công, đồng nghĩa với việc các nhân viên kiểm thử phải thực hiện từng bước kiểm thử bằng tay 1000 testcase, từ việc nhập liệu, kiểm tra tính năng đến xác nhận chất lượng của sản phẩm trên giao diện của website. Tuy phương pháp này có thể đảm bảo mức độ chính xác và toàn vẹn cho sản phẩm, nhưng nó cũng mang lại một số hạn chế đáng lưu ý.
Chậm thời gian bàn giao sản phẩm: Do kiểm thử thủ công yêu cầu nhiều thời gian dẫn đến việc kéo dài quá trình phát triển và chậm tiến độ bàn giao sản phẩm. Không thể kiểm tra trên các trình duyệt đa dạng: Việc kiểm thử chỉ trên một số trình duyệt nhất định có thể làm giảm khả năng phát hiện lỗi trên các trình duyệt khác, gây ra rủi ro cho chất lượng phần. Không đủ nguồn lực và thời gian kiểm tra hồi quy khi có sự thay đổi yêu cầu hoặc tính năng: Khi có sự thay đổi trong yêu cầu hoặc muốn mở rộng tính năng, việc thực hiện kiểm tra hồi quy có thể mất nhiều thời gian và tài nguyên, có thể Lê Hoài Thương-K23HTTTA 5 Khóa luận tốt nghiệp Nghiên cứu và ứng dụng kiểm thử tự động cho website quản lý tuyển dụng tại công ty cổ phần Sun-asterisk không đủ thời gian thực hiện tất cả các trường hợp kiếm thủ và dẫn đến sự bỏ sót lỗi. Thách thức Với quy trình hiện tại thì khi thực hiện kiểm thử website quản lý tuyển dụng sẽ gặp một số thách thức như sau: Tăng thời gian, chi phí và nguồn lực Phương pháp kiểm thử thủ công có thể khá lặp đi lặp lại và người kiểm thử cần phải làm việc dưới áp lực để đáp ứng thời gian bàn giao sản phẩm.
Điều này đòi hỏi sự tham gia của một số lượng lớn người thử nghiệm thủ công. Quá trình này có thể tốn thời gian với một số lượng lớn các ca kiểm thử được kiểm thử bằng tay. Chi phí liên quan đến việc kiểm thử phần mềm theo cách thủ công sẽ tăng theo thời gian và kích thước ứng dụng ngày càng tăng. Vấn đề kiểm thử hồi quy Kiểm thử hồi quy được tiến hành trên phần mềm hiện có để đảm bảo rằng những thay đổi mới trong ứng dụng không ảnh hưởng đến mã khác và làm giảm chức năng.
Tuy nhiên, khi phần mềm mở rộng sau mỗi lần nâng cấp, việc áp dụng thử nghiệm thủ công sẽ trở nên rất lớn. Điều này khiến không thể xác minh các thay đổi mới, kiểm tra chức năng của tính năng trước đó và theo dõi bất kỳ lỗi mới nào có thể phát sinh do thêm tính năng mới. Thiếu thiết bị, môi trường Người kiểm tra thủ công cần kiểm tra thủ công tính tương thích và các lỗi có thể xảy ra khác trong tất cả các kết hợp thiết bị, hệ điều hành, trình duyệt. Việc có đầy đủ thiết bị, môi trường để kiểm thử là rất khó khăn.
Việc thiết lập các môi trường kiểm thử nghiệm này theo cách thủ công không phải là điều dễ dàng. Giá trị mang lại của bài toán Áp dụng kiểm thử tự động sẽ mang lại nhiều lợi ích đáng kể cho công ty. Đầu tiên, việc giảm thiểu thời gian và nhân lực cần thiết cho quá trình kiểm thử sẽ giúp tăng hiệu suất làm việc và giảm chi phí. Thứ hai, việc sử dụng kiểm thử tự động có thể tăng tính toàn vẹn và chính xác của quá trình kiểm thử, giảm nguy cơ xuất hiện lỗi trong sản phẩm.
Cuối cùng, kiểm thử tự động giúp tăng tính linh hoạt và mở rộng của quy trình kiểm thử, cho phép công ty dễ dàng thêm tính năng mới hoặc thực hiện các kịch bản kiểm thử phức tạp mà không tốn nhiều công sức và thời gian.