TỔNG QUAN VỀ TMA SOLUTION BÌNH ĐỊNH
Giơ ́ i thiê ̣u tổng quát về doanh nghiê ̣p thực tâ ̣p
Hình 1.1 Công ty TMA Solutions Bình Định
1.1.1 Tổng quan về doanh nghiệp
Vào tháng 6 năm 2018, TMA đã khởi công chi nhánh tại Bình Định Sau 4 năm hoạt động, chi nhánh TMA Bình Định đã phát triển mạnh mẽ, hiện có hơn 400 kỹ sư, trong đó nhiều kỹ sư từ TP.HCM đã trở về quê hương để làm việc.
Vào tháng 8 năm 2018, TMA đã chính thức 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 diện tích 10 hecta tại Thung lũng Sáng tạo Quy Nhơn (Quy Nhon Innovation Park – QNIVY) với tổng vốn đầu tư lên tới hàng trăm tỷ đồng.
Công viên Sáng tạo TMA, trung tâm phần mềm đầu tiên tại Thung lũng Sáng tạo Quy Nhơn, có 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 miền Trung Với tổng diện tích sử dụng hơn 15,000m2, công viên bao gồm nhiều cơ sở như 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 và Học viện Công Nghệ, góp phần quan trọng đưa Thung lũng Sáng tạo Quy Nhơn trở thành điểm đến công nghệ 4.0 tại Việt Nam.
Công viên Sáng tạo TMA, với quy mô hơn 3000 kỹ sư và môi trường làm việc đạt tiêu chuẩn quốc tế, sẽ trở thành trung tâm thu hút nhân tài miền Trung và cả nước Thông qua mối quan hệ hợp tác chiến lược với các trường đại học lớn như ĐH Quy Nhơn, ĐH Tây Nguyên, ĐH Phú Yên, và ĐH Phạm Văn Đồng, TMA không chỉ hỗ trợ sinh viên miền Trung khởi nghiệp mà còn thúc đẩy sự phát triển của công nghệ cao, khoa học kỹ thuật, giáo dục và kinh tế xã hội tại Bình Định và các tỉnh miền Trung.
TMA hiện có 12 trụ sở tại các thành phố lớn trên thế giới, bao gồm 6 văn phòng tại thành phố Hồ Chí Minh, với trụ sở chính tọa lạc tại 111 Nguyễn Đình Chính, Quận Phú Nhuận Ngoài ra, TMA cũng có các chi nhánh tại Canada, Mỹ, Nhật Bản, Úc và nhiều quốc gia khác.
- Quy trình quản lý chất lượng đã đạt được các chuẩn: ISO 9000 (năm 2005), TL
9000, CMMI-Level 3 (năm 2006), CMMI-Level 5 (năm 2011) và Agile (năm 2012)
- Công ty DNTN Dịch vụ Tường Minh (TMA solution) thành lập vào tháng 3 năm
1997 tại phòng khách nhà bà Bùi Ngọc Anh với 6 kỹ sư
- Đến nay công ty gồm 10 trụ sở, trong đó trụ sở chính tại 111, Đường Nguyễn Đình Chính, Quận Phú Nhuận, Thành Phố Hồ Chí Minh, Việt Nam
- Tháng 3/2015 công ty có trên 1800 nhân viên
Tài chính, Ngân hàng & Bảo hiểm:
Quản lý tài sản (Wealth management, asset management)
Thị trường vốn (Capital market)
Quản lý vốn (Fund management)
Quản lý đầu tư (Investment management)
Thanh toán di động (Mobile payment)
Phân tích tài chính (Financial analysis)
Tài chính doanh nghiệp (Corporate finance)
Quy trình bảo hiểm (Insurance process and workflow)
Hỗ trợ bán bảo hiểm (Insurance sale support)
Đào tạo bảo hiểm (Insurance agent training)
Thương mại điện tử & Phân phối:
Tư vấn, thiết kế, phát triển và triển khai hệ thống phần mềm trọn gói về thương mại điện tử
Quản lý phân phối sản phẩm
Phân tích hành vi khách hàng
Phân tích thông tin bệnh nhân và sử dụng thuốc
Hệ thống thông tin y tế
Quản lý và phân tích dịch bệnh
Hồ sơ y tế điện tử
Hỗ trợ chẩn đoán lâm sàng
Theo dõi sức khỏe người già 24/24
Quản lý người cách ly tại nhà
Phân tích hành vi học online
Phân tích năng lực học sinh
Quản lý và điểm danh tự động
Các ứng dụng quản lý mạng
Website dịch vụ khách sạn và du lịch
Phần mềm dịch vụ khách sạn
Quản lý khách sạn tự động
Hình 1.2 Sơ đồ cơ cấu tổ chức của công ty
Board of Advisors: Cố vấn cho công ty
CEO: Giám đốc điều hành của công ty
Delivery Centers: Trung tâm chuyển giao sản phẩm cho khách hàng
TMA Mobile Solutions (TMS) chuyên phát triển ứng dụng di động và thử nghiệm, đồng thời cung cấp các dịch vụ điện thoại di động, giá trị gia tăng và ứng dụng cho các nhà khai thác di động TMS cam kết mang đến nội dung chất lượng và giải pháp doanh nghiệp hiệu quả.
ICT R&D Center (iRDC - Information and Communications Technology Research & Development Center): Trung tâm nghiên cứu và phát triển công nghệ thông tin và truyền thông
TMA Training Center (TTC): Trung tâm đào tạo nhân lực
Student Development Center (SDC): Có nhiệm vụ liên kết với sinh viên, nhận sinh viên thực tập tại công ty nhằm thu hút và bồi dưỡng nhân tài
Phát triển kinh doanh là việc củng cố mối quan hệ với khách hàng hiện tại và mở rộng kết nối với các khách hàng tiềm năng từ các thị trường như Mỹ, Úc, Canada, Đức, Nhật Bản và Singapore.
Business Departments: Bộ phận hỗ trợ (HR/Admin, IT/Security, )
Cung cấp cho nhân viên các gói bảo hiểm y tế (BHYT) và bảo hiểm xã hội (BHXH) đầy đủ, chương trình bảo hiểm chăm sóc sức khỏe toàn diện với mức bảo hiểm cao giúp nhân viên dễ dàng khám và điều trị tại các bệnh viện uy tín, đảm bảo quyền lợi và chất lượng dịch vụ y tế.
- Chính sách cho vay tiền không lãi suất, không thế chấp để chia sẻ với nhân viên nỗi lo về tài chính
Quỹ từ thiện “Khát vọng TMA” đã được thành lập với số vốn ban đầu 1 tỷ đồng, nhằm hỗ trợ tài chính kịp thời cho các nhân viên và những người có hoàn cảnh khó khăn trên toàn quốc.
- Quỹ Team building hỗ trợ các hoạt động ngoại khóa hàng năm cho nhân viên
- Quỹ khen thưởng hàng Quý (TMA Quarterly Star Performer) cho nhân viên xuất sắc lên đến 1 tỷ đồng/năm.
Tổng quan vê ̀ vi ̣ trí viê ̣c làm
1.2.1 Những yêu cầu về kiến thức và kỹ năng cần có của intern Tester a) Yêu cầu về kiến thức
Intern cần nắm rõ các loại lỗi phần mềm, bao gồm lỗi cú pháp, lỗi logic, lỗi thiết kế, lỗi tính toán và lỗi hệ thống Việc hiểu rõ những loại lỗi này giúp tăng cường khả năng phát hiện và khắc phục sự cố trong quá trình phát triển phần mềm.
Intern cần nắm vững các kỹ thuật kiểm thử phần mềm, bao gồm 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, kiểm thử bảo mật, kiểm thử hiệu suất và kiểm thử phi chức năng Việc hiểu rõ những kỹ thuật này sẽ giúp intern thực hiện kiểm thử hiệu quả và đảm bảo chất lượng phần mềm.
Các phương pháp kiểm thử phần mềm rất quan trọng mà intern cần nắm vững, bao gồm kiểm thử thủ công, kiểm thử tự động, kiểm thử động và kiểm thử tĩnh Việc hiểu rõ những phương pháp này giúp nâng cao chất lượng sản phẩm phần mềm và đảm bảo tính ổn định của hệ thống.
Intern cần nắm vững các công cụ kiểm thử phần mềm, bao gồm công cụ kiểm thử tự động, công cụ quản lý lỗi và công cụ quản lý kịch bản kiểm thử Sự hiểu biết này sẽ giúp họ thực hiện kiểm thử hiệu quả và nâng cao chất lượng sản phẩm.
Quy trình kiểm thử phần mềm là một yếu tố quan trọng mà các intern cần nắm vững, bao gồm các bước kiểm thử đa dạng, bắt đầu từ lập kế hoạch kiểm thử cho đến giai đoạn kiểm thử chấp nhận.
- Chuẩn mực kiểm thử phần mềm: Intern cần phải hiểu các chuẩn mực kiểm thử phần mềm, bao gồm các chuẩn mực quốc tế như ISO/IEC/IEEE 29119, IEEE 829, v.v
Intern cần nắm vững các phương pháp kiểm thử hiệu quả, bao gồm việc xác định ưu tiên kiểm thử và đánh giá hiệu quả của quá trình kiểm thử Những kiến thức này giúp cải thiện chất lượng sản phẩm và tối ưu hóa quy trình phát triển.
Intern cần nắm vững các quy tắc và phương pháp phát hiện lỗi, bao gồm việc áp dụng các kỹ thuật kiểm thử hiệu quả và sử dụng các công cụ kiểm thử phần mềm phù hợp Điều này không chỉ giúp họ phát hiện lỗi một cách chính xác mà còn nâng cao kỹ năng kiểm thử của bản thân.
- Để trở thành một Software Tester thì cần phải có các kỹ năng công nghệ (Technical Skills) và kỹ năng phi công nghệ (Non-technical Skills)
- Kỹ năng phi công nghệ:
Kỹ năng phân tích sắc bén là yếu tố quan trọng đối với một tester phần mềm giỏi Kỹ năng này cho phép chia nhỏ các hệ thống phần mềm phức tạp thành những đơn vị dễ hiểu hơn, từ đó giúp tạo ra các test cases hiệu quả.
Kỹ năng giao tiếp là yếu tố quan trọng đối với một tester phần mềm xuất sắc, bao gồm khả năng truyền đạt thông tin bằng lời nói và văn bản Các tài liệu như test cases, kế hoạch test, chiến lược test và báo cáo lỗi do những tester này tạo ra thường rõ ràng và dễ hiểu Khi liên hệ với các lập trình viên về lỗi hoặc các vấn đề khác, sự cẩn trọng và khéo léo là điều cần thiết.
Kỹ năng tổ chức và quản lý thời gian là rất quan trọng đối với một software tester, đặc biệt trong giai đoạn phát hành code, khi công việc có thể trở nên thử thách Để đạt được hiệu quả cao, tester cần quản lý khối lượng công việc một cách hiệu quả, thể hiện năng suất tối ưu và kỹ năng tổ chức xuất sắc.
Để trở thành một software tester giỏi, thái độ tích cực là yếu tố quan trọng Bạn cần có tư duy "kiểm tra lỗi", chú ý đến chi tiết, và luôn sẵn sàng tìm hiểu cũng như đề xuất cải tiến quy trình Trong ngành công nghiệp phần mềm, công nghệ phát triển nhanh chóng, vì vậy việc nâng cấp kỹ năng kỹ thuật để theo kịp sự thay đổi là cần thiết Thái độ của bạn cũng nên thể hiện sự độc lập trong việc hoàn thành nhiệm vụ mà không cần giám sát trực tiếp.
Đam mê là yếu tố quan trọng để tỏa sáng trong bất kỳ ngành nghề nào, bao gồm cả lĩnh vực kiểm thử phần mềm Để xác định xem bạn có đam mê với software testing hay không, hãy thử nghiệm công việc này trong một thời gian Nếu bạn cảm thấy công việc không thú vị, hãy tìm kiếm một nghề khác mà bạn thực sự quan tâm.
Cơ sở dữ liệu và SQL là những khái niệm cơ bản trong quản lý dữ liệu, với hệ thống phần mềm lưu trữ một lượng lớn thông tin Dữ liệu này có thể được lưu trữ trong nhiều loại cơ sở dữ liệu như Oracle và MySQL Khi cần xác thực dữ liệu, các truy vấn SQL, dù đơn giản hay phức tạp, sẽ được sử dụng để kiểm tra tính chính xác của dữ liệu được lưu trữ trong cơ sở dữ liệu phụ trợ.
Kiến thức cơ bản về các lệnh Linux là rất quan trọng cho các tester, vì hầu hết các ứng dụng phần mềm như dịch vụ web, cơ sở dữ liệu và máy chủ ứng dụng đều được triển khai trên hệ điều hành Linux Việc nắm vững các lệnh này giúp tester thực hiện kiểm tra và quản lý hiệu quả hơn.
Công cụ quản lý kiểm tra (Test Management Tool) đóng vai trò quan trọng trong quy trình kiểm thử phần mềm Việc thiếu kỹ thuật quản lý kiểm tra thích hợp có thể dẫn đến thất bại trong quy trình này Test Management chủ yếu liên quan đến việc quản lý các sản phẩm liên quan đến kiểm thử Chẳng hạn, Testlink là một công cụ hữu ích để theo dõi tất cả các test cases được đội ngũ của bạn viết ra.
Các công cụ khác có sẵn cũng có thể được sử dụng cho Test Management
CƠ SỞ LÝ THUYẾT VỀ KIỂM THỬ PHẦN MỀM
Tổng quan về kiểm thử phần mềm
2.1.1 Khái niệm về kiểm thử phần mềm
Kiểm thử phần mềm là một chuỗi hoạt động nhằm phát hiện lỗi và đánh giá chất lượng hệ thống thông qua việc thực hiện các bài test, đồng thời tuân thủ vòng đời phát triển phần mềm Quy trình này không chỉ tập trung vào việc xác nhận chức năng của phần mềm mà còn kiểm tra tính chính xác của tài liệu, đặc tả, và đảm bảo rằng phần mềm đáp ứng yêu cầu của khách hàng và phù hợp với người dùng.
2.1.2 Vai trò của kiểm thử phần mềm
Kiểm thử phần mềm là một bước quan trọng vì con người thường mắc sai lầm Mặc dù một số lỗi có thể không nghiêm trọng, nhưng nhiều lỗi khác có thể gây tốn kém hoặc ảnh hưởng lớn đến sản phẩm Do đó, việc kiểm tra mọi khía cạnh của sản phẩm là cần thiết để giảm thiểu rủi ro và đảm bảo chất lượng.
Kiểm thử phần mềm là yếu tố thiết yếu để phát hiện các khiếm khuyết và lỗi trong quá trình phát triển, giúp tổ chức xây dựng uy tín và duy trì sự hài lòng của khách hàng với ứng dụng Đảm bảo rằng ứng dụng hoạt động hoàn hảo là rất quan trọng, vì bất kỳ lỗi nào có thể phát sinh trong tương lai sẽ tốn kém và gây khó khăn trong các giai đoạn phát triển tiếp theo.
2.1.3 Mục tiêu của kiểm thử phần mềm
- Mục tiêu của kiểm thử phần mềm rất đa dạng và phụ thuộc theo từng ngữ cảnh
Tìm ra được lỗi trong phần mềm và nguyên nhân xảy ra lỗi trong phần mềm
Giảm thiểu được mức độ rủi ro khi tạo ra một sản phẩm phần mềm kém chất lượng
Xác định được rằng các thành phần đã được kiểm thử hoàn toàn và đã hoạt động đúng với mong đợi của khách hàng
Xác thực rằng các yêu cầu kỹ thuật của hệ thống đã được bao quát và đã có đầy đủ trong hệ thống
Đánh giá và cải thiện các nguồn thông tin khác như yêu cầu, user story, thiết kế hệ thống hay là code
2.1.4 7 nguyên tắc trong kiểm thử phần mềm
- Kiểm tra chỉ cho thấy sự hiện diện của các khiếm khuyết
- Kiểm thử toàn bộ là điều không thể
- Lỗi thường được phân bố tập trung
- Nghịch lý thuốc trừ sâu (kiểm thử lặp lại nhiều)
- Kiểm thử phụ thuộc vào nhiều ngữ cảnh
- Sai lầm về 1 phần mềm hoàn toàn sạch lỗi
2.1.5 Phân biệt Error, Bug, Fault, Failure
- Error: Lỗi là hành động của con người tạo ra kết quả không chính xác dẫn đến lỗi
- Fault = Bug: Sự hiện diện của lỗi tại thời điểm thực thi phần mềm, khiến cho chức năng hay phần mềm không hoạt động được như mong đợi
- Failure: Kết quả chênh lệch giữa thực tế và mong đợi
Loại kiểm thử và phương pháp kiểm thử
2.2.1 Các loại kiểm thử phần mềm
Kiểm thử thủ công là một phương pháp kiểm thử phần mềm, trong đó người kiểm thử thực hiện các trường hợp kiểm thử mà không sử dụng công cụ tự động Mục tiêu chính của kiểm thử thủ công là phát hiện lỗi, sự cố và vấn đề trong ứng dụng phần mềm.
Kiểm thử tự động là quá trình mà người kiểm thử viết các kịch bản kiểm thử và sử dụng công cụ hỗ trợ để thực hiện, giúp nâng cao hiệu quả và tiết kiệm thời gian Phương pháp này rất hữu ích cho việc chạy các kịch bản kiểm thử lặp lại nhiều lần và thực hiện các nhiệm vụ kiểm thử phức tạp.
2.2.2 Các phương pháp kiểm thử
Kiểm thử hộp đen là một phương pháp kiểm thử phần mềm, trong đó người kiểm thử không cần biết về cấu trúc hoạt động bên trong của hệ thống Thay vào đó, họ chỉ tập trung vào việc kiểm tra các đầu vào và đầu ra của phần mềm.
Thích hợp trong việc kiểm tra từng phân đoạn lớn các mã lệnh, chức năng lớn
Người thử nghiệm không cần hiểu biết về mã lệnh được viết trong chương trình
Tách biệt giữa quan điểm của người sử dụng và người phát triển phần mềm
Độ bao phủ hạn chế vì chỉ có một phần nhỏ trong số các kịch bản thử nghiệm được thực hiện
Kiểm tra không hiệu quả do người thử nghiệm không hiểu biết gì về cấu trúc bên trong phần mềm
Tester có hạn chế về hiểu biết về ứng dụng
Kiểm thử hộp trắng là một phương pháp kiểm thử phần mềm, trong đó người kiểm thử cần hiểu rõ cấu trúc bên trong của ứng dụng, bao gồm đầu vào và đầu ra Để thực hiện kiểm thử này, người kiểm tra cần có kiến thức về ngôn ngữ lập trình.
Thích hợp trong việc tìm kiếm lỗi và các vấn đề trong mã lệnh
Biết được yêu cầu bên trong của phần mềm, kiểm tra sẽ sát hơn
Cho phép tìm kiếm các lỗi ẩn bên trong
Các lập trình viên có thể tự kiểm tra
Giúp tối ưu việc mã hoá
Không thể tìm thấy tính năng chưa thực hiện hoặc bỏ sót
Đòi hỏi hiểu sâu về cấu trúc bên trong của phần mềm được thử nghiệm
Yêu cầu truy xuất mã lệnh bên trong chương trình
Các cấp độ kiểm thử
Kiểm thử đơn vị là một phương pháp kiểm thử phần mềm, tập trung vào việc kiểm tra các thành phần riêng lẻ như hàm, lớp và phương thức Quá trình này diễn ra trong giai đoạn phát triển ứng dụng, cụ thể là khi viết code Những lỗi phát sinh trong giai đoạn này thường được khắc phục ngay lập tức mà không cần lưu trữ hay quản lý như ở các cấp độ kiểm thử khác.
Kiểm thử tích hợp là quá trình kiểm tra các module phần mềm hoặc chức năng riêng lẻ khi chúng được kết hợp lại và kiểm tra theo nhóm Trong mỗi dự án phần mềm, nhiều module được phát triển bởi các lập trình viên khác nhau, do đó, kiểm thử tích hợp chủ yếu tập trung vào việc kiểm tra sự truyền dữ liệu giữa các module Mục tiêu chính là phát hiện lỗi tương tác giữa các Unit, với sự chú trọng vào các giao diện và thông tin liên kết giữa các module Quá trình này giúp tích hợp các Unit đơn lẻ thành những hệ thống nhỏ hơn.
Kiểm tra theo phương pháp top down diễn ra từ cấp cao nhất đến cấp thấp hơn trong hệ thống Các đơn vị cao nhất sẽ được kiểm tra trước, sau đó các cấp đơn vị thấp hơn sẽ được kiểm tra từng bước tiếp theo.
Phương pháp Hybrid/Sandwich là một cách tiếp cận khác biệt so với phương pháp Top Down, trong đó các đơn vị cấp thấp sẽ được kiểm tra trước, sau đó mới đến các đơn vị cấp cao hơn.
Phương pháp Bottom Up là sự kết hợp giữa hai phương pháp Top Down và Bottom Up Trong phương pháp này, các module cao cấp được kiểm tra đồng thời với các module thấp hơn, và các module thấp hơn cũng được tích hợp và kiểm thử với các module cao cấp.
- Khái niệm: Kiểm thử hệ thống là kiểm thử toàn bộ chức năng và giao diện của hệ thống
- Mục đích: Đánh giá hệ thống có đáp ứng theo đúng yêu cầu nghiệp vụ, yêu cầu về chức năng đưa ra hay không
- Phân loại: Dưới đây là một số loại kiểm thử thường được thực hiện trong kiểm thử hệ thống:
Kiểm thử chức năng (Functional Test): Là kiểm thử toàn bộ hệ thống, đảm bảo hệ thống hoạt động đúng theo yêu cầu được đưa ra trước đó
Kiểm thử hiệu năng là quá trình đánh giá sự tuân thủ của hệ thống đối với các yêu cầu hiệu năng đã được chỉ định Qua đó, kiểm thử này giúp xác định các thuộc tính chất lượng quan trọng của hệ thống, bao gồm khả năng mở rộng và độ tin cậy.
Kiểm thử cơ sở dữ liệu (Database Test) là quá trình xác minh sự chính xác của dữ liệu hiển thị trên hệ thống so với dữ liệu lưu trữ trong cơ sở dữ liệu.
Kiểm thử khả năng bảo mật là quá trình đánh giá hệ thống nhằm đảm bảo an toàn và bảo vệ dữ liệu, thông tin khỏi các cuộc tấn công từ bên ngoài.
Kiểm thử tính khả dụng (Usability Test): Kiểm tra tính thân thiện với người dùng và tính dễ sử dụng của hệ thống
Kiểm tra tính tương thích (Compatibility Test) là quá trình xác định xem hệ thống có hoạt động hiệu quả với các yếu tố khác trong môi trường của nó hay không.
Kiểm tra khả năng phục hồi (Recovery Test) là quá trình đánh giá hệ thống nhằm xác định khả năng khôi phục về trạng thái ổn định sau khi gặp phải các sự cố bất thường.
Kiểm thử chấp nhận là quá trình đánh giá xem phần mềm có đáp ứng đầy đủ các yêu cầu của khách hàng hay không, đồng thời xác định liệu khách hàng có chấp nhận sản phẩm cuối cùng hay không.
- Mục đích: Để nghiệm thu hệ thống trước khi hệ thống được đưa vào hoạt động
- Phân loại: Trong kiểm thử chấp nhận lại chia ra làm 2 loại:
Alpha test là giai đoạn kiểm thử phần mềm được thực hiện bởi các thành viên trong tổ chức phát triển nhưng không tham gia trực tiếp vào dự án, thường là các quản lý sản phẩm Đây là một hình thức kiểm thử nội bộ, diễn ra tại nơi sản xuất phần mềm, trước khi tiến hành kiểm thử Beta.
Beta test là giai đoạn thử nghiệm được thực hiện bởi người dùng cuối, thường là khách hàng Quá trình này diễn ra tại địa điểm của khách hàng, nơi người dùng sẽ kiểm tra và sử dụng hệ thống trong môi trường riêng của họ, khác với nơi phát triển phần mềm.
Các kỹ thuật viết test case
2.4.1 Kỹ thuật dựa trên đặc điểm kỹ thuật
Phân tích giá trị biên là một kỹ thuật kiểm thử phần mềm nhằm xác định các giá trị đầu vào hợp lệ và không hợp lệ cho một chức năng cụ thể Mục tiêu chính của phương pháp này là phát hiện lỗi tiềm ẩn khi giá trị đầu vào gần với các giới hạn của phần mềm.
Phân vùng tương đương là phương pháp chia tập hợp điều kiện kiểm thử thành các phân vùng giống nhau Trong mỗi phân vùng, ta chỉ cần chọn một giá trị bất kỳ để đại diện cho toàn bộ vùng đó Mục đích của phương pháp này là giảm thiểu số lượng kiểm tra không cần thiết, từ đó tiết kiệm thời gian và nguồn lực trong quá trình kiểm thử.
Bảng quyết định là một kỹ thuật kiểm thử phần mềm dựa trên mối quan hệ nhân quả, còn được gọi là bảng nguyên nhân và kết quả Kỹ thuật này được áp dụng để kiểm tra hành vi của hệ thống khi đầu ra phụ thuộc vào nhiều sự kết hợp của các đầu vào Mục tiêu chính là kiểm tra sự tương tác giữa các điều kiện khác nhau.
Sơ đồ chuyển đổi trạng thái là một phương pháp thử nghiệm quan trọng, trong đó sự thay đổi của điều kiện đầu vào sẽ dẫn đến sự thay đổi trạng thái của phần mềm Phương pháp này giúp xác định và kiểm tra các trạng thái khác nhau của ứng dụng, đảm bảo rằng phần mềm hoạt động đúng theo yêu cầu.
2.4.2 Kỹ thuật dựa trên kinh nghiệm
Người kiểm tra thực hiện việc xác minh và xác thực chất lượng sản phẩm phần mềm bằng cách áp dụng kinh nghiệm từ các dự án kiểm tra sản phẩm tương tự trước đó trong cùng lĩnh vực.
Đoán lỗi là một kỹ thuật quan trọng trong lĩnh vực phát triển phần mềm, dựa vào kỹ năng, kinh nghiệm và trực giác của người kiểm thử Kỹ thuật này cho phép người dùng xác định và khắc phục lỗi trong ứng dụng hoặc phần mềm mà không cần tài liệu hướng dẫn Việc áp dụng phương pháp này giúp cải thiện hiệu suất và độ tin cậy của sản phẩm phần mềm.
Đoán thăm dò là một phương pháp kiểm thử phần mềm được thực hiện mà không có kế hoạch cụ thể, trong đó các dự đoán được đưa ra một cách ngẫu nhiên và không chắc chắn.
Vòng đời của lỗi
Hình 2.1 Hình ảnh vòng đời của Bug
Mới (New): Bug được báo cáo hoặc phát hiện và ở trạng thái ban đầu Chưa được xem xét hoặc giao cho ai đó
Báo cáo lỗi sẽ được xem xét và phân công cho một nhà phát triển hoặc nhóm phát triển cụ thể để xử lý Điều này đảm bảo rằng bug đã được giao cho những người có trách nhiệm giải quyết vấn đề một cách hiệu quả.
Người phát triển đang trong quá trình xử lý bug, thực hiện phân tích vấn đề và thực hiện các thay đổi cần thiết để khắc phục sự cố.
Sau khi sửa lỗi, nhà phát triển sẽ đánh dấu bug là "Sẵn sàng kiểm thử" để chuyển giao cho nhóm kiểm thử Nhóm này sẽ xác nhận xem việc sửa lỗi có thực sự khắc phục được vấn đề hay không.
Nhóm kiểm thử thực hiện quy trình xác nhận (Verified) bằng cách kiểm tra các sửa lỗi để đảm bảo vấn đề đã được giải quyết Nếu việc sửa lỗi thành công, bug sẽ được đánh dấu là "Đã xác nhận" hoặc "Đóng".
Bug được xem là đã được sửa và đóng lại khi nó không còn hoạt động Thông tin về giải pháp thường được ghi chú lại để tham khảo trong tương lai.
Khi một bug đã được đóng lại, có thể xảy ra tình huống vấn đề tái phát hoặc chưa được giải quyết triệt để Trong những trường hợp này, bug sẽ được mở lại và chuyển về trạng thái "Đang xử lý" để tiếp tục sửa lỗi.
Khi một báo cáo lỗi bị từ chối, điều này có thể xảy ra do báo cáo được xem là không hợp lệ hoặc không phải là lỗi thực sự Trạng thái của bug sẽ được cập nhật tương ứng trong trường hợp hành vi được báo cáo là hợp lệ, hoặc nếu lỗi được xác định là do hiểu lầm hoặc sai sót của người dùng.
Trong một số trường hợp, một lỗi (bug) có thể được xác nhận là vấn đề hợp lệ nhưng lại có mức độ ưu tiên thấp, không đủ quan trọng để được khắc phục ngay lập tức Lỗi này sẽ được đánh dấu là "Hoãn lại" và nhóm phát triển sẽ lên kế hoạch để giải quyết nó trong các phiên bản hoặc chu kỳ phát triển tiếp theo.
PHÂN TÍCH WEBSITE AVAYA SPACES
Tổng quan về hệ thống website Avaya Spaces
3.1.1 Giới thiệu chung về website Avaya Spaces
Avaya Spaces là nền tảng truyền thông cộng tác hàng đầu, giúp cải thiện trải nghiệm làm việc nhóm hiệu quả Với mục tiêu giảm thiểu sự phân tán trong làm việc từ xa, Avaya Spaces tăng cường kết nối giữa các thành viên trong tổ chức, cung cấp môi trường trực tuyến lý tưởng cho giao tiếp, cộng tác và quản lý công việc.
Avaya Spaces tích hợp nhiều tính năng tiện ích, cho phép người dùng gửi tin nhắn, thực hiện cuộc gọi thoại, họp trực tuyến và chia sẻ tài liệu Người dùng cũng có thể tạo và quản lý các Group Spaces theo chủ đề và mục tiêu cụ thể Trong Group Spaces, các thành viên dễ dàng theo dõi tiến độ công việc, cập nhật thông tin và thảo luận thông qua bài viết và trao đổi ý kiến.
Avaya Spaces nổi bật với khả năng tích hợp linh hoạt, cho phép tương tác dễ dàng với các công cụ và ứng dụng phổ biến như Microsoft Teams, Google Workspace và Slack Tính năng này không chỉ tối ưu hóa quy trình làm việc mà còn nâng cao hiệu suất công việc cho doanh nghiệp.
Avaya Spaces chú trọng vào bảo mật và quyền riêng tư, đảm bảo thông tin và dữ liệu của người dùng được bảo vệ an toàn Chỉ những thành viên đã được xác thực mới có quyền truy cập vào các Group Spaces và tham gia tương tác trong hệ thống.
Avaya Spaces là một công cụ đáng tin cậy, mang lại nhiều tiện ích và tính năng tối ưu, giúp cải thiện hiệu suất làm việc nhóm và nâng cao truyền thông cộng tác trong môi trường công nghiệp hiện đại.
3.1.2 Chức năng của Avaya Spaces
Avaya Spaces là nền tảng truyền thông cộng tác trực tuyến, giúp doanh nghiệp và tổ chức cải thiện giao tiếp, tăng cường sự hợp tác và quản lý công việc hiệu quả hơn Dưới đây là những chức năng nổi bật của Avaya Spaces.
Avaya Spaces cho phép người dùng tạo và quản lý các Group Spaces (không gian nhóm) theo chủ đề, dự án hoặc mục tiêu cụ thể Mỗi Group Space mang đến một môi trường làm việc riêng biệt, giúp các thành viên tập trung vào công việc và nâng cao hiệu quả làm việc trong nhóm.
Trong Avaya Spaces, người dùng có khả năng gửi tin nhắn, thực hiện cuộc gọi thoại, tổ chức họp trực tuyến và chia sẻ màn hình, từ đó tối ưu hóa giao tiếp và cộng tác giữa các thành viên, đặc biệt là trong bối cảnh làm việc từ xa.
Avaya Spaces cung cấp tính năng quản lý Task hiệu quả trong Group Spaces, cho phép người dùng dễ dàng tạo mới nhiệm vụ, phân công người thực hiện, cập nhật tiến độ và theo dõi công việc.
Quản lý bài viết trong Avaya Spaces cho phép các thành viên tạo và gửi thông báo, cập nhật trong Group Spaces, từ đó hỗ trợ việc chia sẻ thông tin, ý kiến và khởi động thảo luận về các chủ đề cụ thể.
Avaya Spaces tích hợp linh hoạt với các công cụ như Microsoft Teams, Google Workspace và Slack, giúp doanh nghiệp tối ưu hóa quy trình làm việc và nâng cao tính linh hoạt trong công việc hàng ngày.
Avaya Spaces cung cấp giải pháp họp trực tuyến hiệu quả với tính năng tích hợp video, âm thanh và chia sẻ màn hình Người dùng có thể dễ dàng tổ chức các cuộc họp định kỳ hoặc không định kỳ với đồng nghiệp, mang lại sự thuận tiện trong việc kết nối và giao tiếp.
Hệ thống bảo mật và quyền riêng tư được thiết kế để bảo vệ thông tin cá nhân của người dùng, đảm bảo rằng chỉ những thành viên đã được xác thực mới có quyền truy cập vào các Group Spaces và thông tin liên quan đến nhóm.
3.1.3 Ưu nhược điểm của Avaya Spaces
Avaya Spaces sở hữu giao diện người dùng thân thiện và dễ sử dụng, cho phép người dùng thao tác một cách nhanh chóng và hiệu quả, tận dụng tối đa các chức năng của hệ thống.
Avaya Spaces cung cấp khả năng tích hợp linh hoạt với các công cụ và ứng dụng hiện có, giúp người dùng tối ưu hóa quy trình làm việc và cải thiện khả năng truyền thông cộng tác thông qua việc sử dụng các ứng dụng mà họ đã quen thuộc.
Workflow của website Avaya Space
Hình 3.1 Workflow của website Avaya Spaces
Sơ đồ Use case
3.3.1 Sơ đồ Use case tổng quát
Hình 3.2 Sơ đồ Use case của website Avaya Spaces
3.3.2 Chức năng của các tác nhân
Bảng 3.1 Chức năng của các tác nhân trên website Avaya Spaces
1 Guest Người dùng khách chỉ có thể thực hiện 1 chức năng là:
2 User Người dùng có thể thực hiện những chức năng như sau:
- Có quyền đăng nhập, đăng xuất
- Xem và chỉnh sửa thông tin cá nhân
- Có quyền tạo Group Spaces
- Thêm thành viên, Quản lý thành viên
- Chia sẻ tệp tài liệu
- Có quyền tạo Tasks, Posts
- Có quyền quản lý Tasks, Posts
- Có quyền tham gia vào cuộc trò chuyện và cuộc họp
Đề tài này tập trung vào việc kiểm thử ba trường hợp sử dụng (UC) chính: Đăng nhập, Quản lý Group Spaces và Làm việc với Posts Phần dưới đây sẽ phân tích chi tiết nghiệp vụ của ba UC này.
Mô tả chi tiết
Hình 3.3 Use case chức năng Đăng nhập
Chức năng đăng nhập Avaya Spaces cho phép người dùng dễ dàng truy cập và sử dụng các tính năng của hệ thống bằng cách xác thực tài khoản thông qua tên người dùng và mật khẩu.
- Đặc tả yêu cầu chức năng:
Bảng 3.2 Bảng đặc tả yêu cầu của chức năng Đăng nhập
Tên Use Case Đăng nhập
Người dùng có thể đăng nhập vào hệ thống để truy cập các chức năng cần thiết Để kích hoạt tính năng này, người dùng cần truy cập vào trang web Trước khi đăng nhập, tài khoản người dùng phải được tạo sẵn Sau khi hoàn tất các bước trên, người dùng sẽ đăng nhập ứng dụng thành công.
1 Người dùng truy cập vào trang web
2 Hệ thống hiển thị màn hình Đăng nhập
3 Người dùng nhập tên đăng nhập và click “Continue”
4 Nếu tên đăng nhập hợp lệ, thì tiếp tục hiển thị trường nhập mật khẩu và nhấn Enter
5 Nếu thông tin đăng nhập hợp lệ, thì sau đó tiếp tục vào màn hình xác thực tài khoản, nhấp “Continue” để đăng nhập thành công vào giao diện màn hình chính
Luồng xử lý ngoại lệ:
3.1 Người dùng nhập sai Tên đăng nhập thì sẽ không hiển thị trường
28 nhập mật khẩu Hệ thống hiển thị thông báo lỗi: “Invalid Email or Phone Number Format!”
3.2 Người dùng không nhập Tên đăng nhập: Con trỏ chuột sẽ tự động đứng ở trường nhập tên đăng nhập
4.1 Người dùng nhập sai mật khẩu hoặc không nhập mật khẩu Hệ thống hiển thị thông báo lỗi: “Password is required!”
3.4.2 Chức năng Quản lý Group Space
Hình 3.4 Use case chức năng Quản lý Group Space
Trong chức năng Quản lý Group Space, chỉ tập trung kiểm thử 2 chức năng nhỏ là Tạo Group Space và Mời Thành viên
Chức năng này trong Avaya Spaces cho phép người dùng tương tác và làm việc hiệu quả trong các nhóm không gian (group spaces), nơi các thành viên có thể chia sẻ thông tin và hợp tác cùng nhau.
Chức năng "Tạo mới Group Space" cho phép người dùng dễ dàng tạo một không gian nhóm mới để làm việc và tương tác với các thành viên khác Người dùng có thể cung cấp thông tin cơ bản như tên và mô tả cho Group Space, giúp xác định rõ mục đích và nội dung của không gian làm việc này.
- Đặc tả yêu cầu chức năng:
Bảng 3.3 Bảng đặc tả yêu cầu của chức năng Tạo Group Space
Tên Use Case Tạo Group Space
Người dùng có thể tạo Group Space trên hệ thống bằng cách truy cập vào giao diện chính Để bắt đầu, người dùng cần nhấn vào nút “Create a New Space” Sau khi thực hiện các bước này, Group Space sẽ được tạo thành công.
1 Người dùng truy cập vào trang quản lý Group Spaces
2 Người dùng bấm vào nút "Create a New Space" Hệ thống hiển thị một biểu mẫu để người dùng điền thông tin cho Group Space mới
3 Người dùng nhập tên cho Group Space mới
4 Người dùng bấm nút "Create Space" để tạo mới Group Space
5 Hệ thống kiểm tra tính hợp lệ của thông tin nhập vào
6 Nếu thông tin hợp lệ, hệ thống tạo mới Group Space và chuyển người dùng đến trang quản lý Group Space với danh sách Group Spaces đã cập nhật
Luồng xử lý ngoại lệ:
3.1 Nếu thông tin không hợp lệ(thông tin chỉ chứa khoảng trống, hơn
250 ký tự ), hệ thống hiển thị thông báo lỗi và yêu cầu người dùng nhập lại thông tin
3.4.2.2 Mời thành viên vào Group Space
Chức năng "Thêm thành viên vào Group Space" cho phép người dùng dễ dàng mời các thành viên mới tham gia vào Group Space đã tạo Người dùng chỉ cần nhập địa chỉ email hoặc tên người dùng của các thành viên cần thêm để hoàn tất quá trình.
- Đặc tả yêu cầu chức năng:
Bảng 3.4 Bảng đặc tả yêu cầu của chức năng Mời thành viên vào Group Space
Tên Use Case Mời thành viên vào Group Space
Người dùng có thể tạo Group Space và thêm thành viên trên hệ thống bằng cách truy cập vào giao diện chính Để bắt đầu, người dùng cần nhấn vào nút “Create a New Space” Sau khi thực hiện các bước này, người dùng sẽ thành công trong việc tạo Group Space và thêm các thành viên mong muốn.
1 Người dùng truy cập vào trang quản lý Group Spaces
2 Người dùng bấm vào nút "Create a New Space" Hệ thống hiển thị một biểu mẫu để người dùng điền thông tin cho Group Space mới
3 Người dùng nhập tên cho Group Space mới
4 Người dùng thêm tên thành viên ở trường “Invite People”
5 Nếu nhập tên hoặc email thành viên hợp lệ, thì sau đó hiển thị tài khoản của thành viên, và có thể mời thành viên với vai trò “Member”,
6 Người dùng nhấn vào nút "Create Space" để tạo mới Group Space
Luồng xử lý ngoại lệ:
4.1 Người dùng nhập sai Tên hoặc email của thành viên: Hệ thống hiển thị thông báo “The person was not found” và yêu cầu nhập lại
3.4.3 Chức năng: Làm việc với Posts
Hình 3.5 Use case chức năng Làm việc với Post
Chức năng này trong Avaya Spaces cho phép người dùng tương tác với các bài viết (posts), tạo điều kiện cho việc chia sẻ thông tin, ý kiến và thảo luận giữa các thành viên trong cùng một không gian làm việc.
Chức năng "Tạo Post" cho phép người dùng gửi một bài viết mới trong Group Space và xác nhận rằng bài viết đã được gửi thành công
- Mô tả yêu cầu chức năng:
Bảng 3.5 Bảng đặc tả yêu cầu của chức năng Tạo Post
Tên Use Case Tạo Post
Mô tả Cho phép người dùng tạo Post trong Group Space Điều kiện kích hoạt Người dùng truy cập vào trang quản lý Post trong
Group Space Điều kiện trước Người dùng nhấn vào nút “Posts”, sau đó nhấn vào nút “New Post” Điều kiện sau Người dùng tạo Post thành công
1 Người dùng truy cập một Group Space
2 Người dùng bấm vào nút "Posts"
3 Người dùng tiếp tục nhấn vào nút “New Post”
4 Người dùng nhập thông tin cho các trường trong bảng “Create a
5 Người dùng tiếp tục nhấn vào nút “Post”
6 Nếu thông tin hợp lệ, hệ thống tạo mới Post thành công
Luồng xử lý ngoại lệ:
4.1 Nếu thông tin không hợp lệ, hệ thống hiển thị thông báo lỗi và yêu cầu người dùng nhập lại thông tin
Chức năng "Chỉnh sửa Post" cho phép người dùng chỉnh sửa lại tên hoặc mô tả của Post đã có sẵn
- Mô tả yêu cầu chức năng:
Bảng 3.6 Bảng đặc tả yêu cầu của chức năng Chỉnh sửa Post
Tên Use Case Chỉnh sửa Post
Người dùng có thể chỉnh sửa các bài Post đã có sẵn trong Group Space Để kích hoạt tính năng này, người dùng cần truy cập vào Group Space và chọn bài Post mong muốn Sau khi nhấn vào bài Post, người dùng có thể thực hiện chỉnh sửa và tạo Post mới thành công.
1 Người dùng truy cập một Group Space
2 Người dùng ấn vào bài Post đã có sẵn
3 Người dùng tiếp tục ấn vào nút trên màn hình
4 Người dùng nhập thông tin cần thay đổi cho các trường trong bảng
5 Sau khi cập nhật thông tin, người nhấn nút “Save”
6 Nếu nhập thông tin hợp lệ, hệ thống cập nhật thông tin Post thành công
Luồng xử lý ngoại lệ:
4.1 Nếu thông tin không hợp lệ, hệ thống hiển thị thông báo lỗi và yêu cầu người dùng nhập lại thông tin
Chức năng "Bình luận Post" cho phép người dùng dễ dàng bình luận hoặc phản hồi vào bài viết trong Group Space, đồng thời xác nhận rằng bình luận đã được gửi thành công.
- Mô tả yêu cầu chức năng:
Bảng 3.7 Bảng đặc tả yêu cầu của chức năng Bình luận Post
Tên Use Case Bình luận Post
Mô tả Cho phép người dùng viết bình luận cho Post trong
Group Space Điều kiện kích hoạt Người dùng truy cập vào trang quản lý Post trong
Group Space Điều kiện trước Người dùng nhấn vào Post muốn bình luận Điều kiện sau Người dùng thêm bình luận Post thành công
1 Người dùng truy cập một Group Space
2 Người dùng ấn vào bài Post đã có sẵn
3 Người dùng nhập bình luận ở trường “Activity”
4 Người dùng bấm nút “Send" để gửi bình luận
5 Hệ thống kiểm tra tính hợp lệ của thông tin nhập vào
6 Nếu thông tin hợp lệ, hệ thống gửi bình luận thành công và hiển thị nó trong bài viết tương ứng
Luồng xử lý ngoại lệ:
3.1 Nếu thông tin không hợp lệ, hệ thống hiển thị thông báo lỗi và yêu cầu người dùng nhập lại thông tin
Hình 3.6 Use case chức năng Đăng xuất
Chức năng đăng xuất Avaya Spaces giúp người dùng dễ dàng thoát khỏi tài khoản, đảm bảo an toàn cho thông tin cá nhân khi không còn sử dụng hệ thống.
- Mô tả yêu cầu chức năng:
Bảng 3.8 Bảng đặc tả yêu cầu của chức năng Đăng xuất
Tên Use Case Đăng xuất
Mô tả Cho phép người dùng đăng xuất khỏi hệ thống
Để kích hoạt Avaya Spaces, người dùng cần truy cập vào trang quản lý tài khoản Trước khi thực hiện, người dùng phải nhấn vào nút “Sign out” Sau khi hoàn tất, người dùng sẽ đăng xuất thành công.
1 Người dùng truy cập vào màn hình chính của hệ thống
2 Người dùng ấn vào nút “Drop down” bên cạnh tên người dùng
3 Người dùng nhấn vào nút “Sign out”
4 Người dùng đăng xuất thành công
CÔNG CỤ SELENIUM WEBDRIVER, ROBOT FRAMEWORK 37 4.1 Selenium Webdriver
Định nghĩa Selenium Webdriver
WebDriver là một khuôn khổ tự động hóa web mạnh mẽ, cho phép thực hiện các kiểm thử trên nhiều trình duyệt khác nhau Nó là một phần quan trọng trong bộ công cụ kiểm thử tự động Selenium, giúp nâng cao hiệu quả và độ tin cậy của quy trình kiểm thử phần mềm.
Những lý do sử dụng Selenium WebDriver
- Người dùng có thể dùng miễn phí
+ Điều khiển trình duyệt từ hệ điều hành
+ Bạn chỉ cần IDE và trình duyệt là xong
Web Driver hỗ trợ viết kịch bản kiểm thử bằng nhiều ngôn ngữ lập trình như Java, NET, PHP, Python, Perl và Ruby Bạn có thể sử dụng các cấu trúc điều kiện if else và vòng lặp để nâng cao độ chính xác cho kịch bản kiểm thử của mình.
WebDriver là công cụ nhanh nhất trong bộ Selenium, nhờ vào khả năng tương tác trực tiếp giữa hệ điều hành và trình duyệt.
Hình 4.1 Giao tiếp giữa hệ điều hành và trình duyệt
Sử dụng Selenium Webdriver
- Web Driver được hỗ trợ trên các trình duyệt: Firefox, Google Chrome, Internet Explorer, Opera browser, Safari
Hình 4.2 Trình duyệt tương thích
Giới thiệu về Robot Framework
Robot Framework là một framework kiểm thử mở rộng, phù hợp cho acceptance testing (AT) và acceptance test driven development (ATDD), đồng thời hỗ trợ kiểm thử tự động Nó có khả năng hoạt động trong các môi trường phân tán và không đồng nhất, nơi cần sử dụng nhiều công nghệ và giao diện khác nhau Được phát triển trên nền tảng Python, Robot Framework dễ sử dụng và viết test script, có thể chạy trên nhiều nền tảng mà không cần chỉnh sửa Tuy nhiên, để sử dụng hiệu quả, người dùng cũng cần có một chút kiến thức về lập trình.
4.2.2 Những lý do chọn Robot Framework
- Cho phép cú pháp dạng bảng dễ sử dụng để tạo các trường hợp thử nghiệm một cách thống nhất
- Cung cấp khả năng tạo các từ khóa cấp cao hơn có thể sử dụng lại từ các từ khóa hiện tại
- Cung cấp nhật ký và báo cáo kết quả dễ đọc ở định dạng HTML
- Nền tảng và ứng dụng độc lập
- Cung cấp một API thư viện đơn giản để tạo các thư viện thử nghiệm tùy chỉnh có thể được triển khai nguyên bản bằng Python hoặc Java
Cung cấp giao diện dòng lệnh và các tệp đầu ra định dạng XML, giúp tích hợp dễ dàng vào cơ sở hạ tầng xây dựng hiện tại, bao gồm hệ thống tích hợp liên tục.
- Cung cấp hỗ trợ cho Selenium để kiểm tra web, kiểm tra Java GUI, các quy trình đang chạy, Telnet, SSH, v.v
- Hỗ trợ tạo các trường hợp thử nghiệm theo hướng dữ liệu
- Có hỗ trợ tích hợp cho các biến, thực tế đặc biệt để thử nghiệm trong các môi trường khác nhau
- Cung cấp tính năng gắn thẻ để phân loại và chọn các trường hợp thử nghiệm sẽ được thực thi
Bộ thử nghiệm được thiết kế để dễ dàng tích hợp với hệ thống kiểm soát nguồn, cho phép người dùng tạo phiên bản từ các tệp và thư mục mã sản xuất.
- Cung cấp thiết lập và chia nhỏ cấp độ test-case và test-suite
- Kiến trúc mô-đun hỗ trợ tạo các bài test ngay cả đối với các ứng dụng có nhiều giao diện đa dạng.
Cài đặt môi trường Selenium và Robot Framework
- Bước 1: Install Python( https://www.python.org/downloads/ )
- Bước 2: Install Selenium: pip install selenium
- Bước 3: Install Robot Framework: pip install robotframework
- Bước 4: Check version for Selenium and Robot Framework: pip freeze
Hình 4.3 Cài đặt môi trường Selenium, Robot Framework thành công
TRIỂN KHAI THỰC NGHIỆM
Môi trường kiểm thử
- IDE and code: Visual Studio Code
- Robot Framework để tổ chức Script kiểm thử
- Thư viện Selenium Webdriver cho Python
Kịch bản test
- Trong phần này, tôi chỉ đề cập đến số lượng Testcase đã viết, còn phần chi tiết về Test case xin vui lòng xem ở phần phụ lục
Bảng 5.1 Bảng kịch bản kiểm thử chức năng Đăng nhập
5.2.2 Chức năng Tạo Group Space và Mời thành viên
Bảng 5.2 Bảng kịch bản kiểm thử chức năng Tạo Group Space và Mời thành viên
Bảng 5.3 Bảng kịch bản kiểm thử chức năng Tạo Post
5.2.4 Chức năng Chỉnh sửa Post
Bảng 5.4 Bảng kịch bản kiểm thử chức năng Chỉnh sửa Post
5.2.5 Chức năng Bình luận Post
Bảng 5.5 Bảng kịch bản kiểm thử chức năng Bình luận Post
Bảng 5.6 Bảng kịch bản kiểm thử chức năng Đăng xuất
Thực hiện kiểm thử
- Trong phần này tôi thực hiện kiểm thử tự động các chức năng sau:
+ Chức năng Tạo Group Space và Mời thành viên
+ Chức năng Chỉnh sửa Post
+ Chức năng Bình luận Post
Các script chức năng được xây dựng dựa trên các test case manual mà tôi đã phát triển Vui lòng tham khảo phần phụ lục để xem chi tiết về các script này.
Kết quả kiểm thử
- Trong phần này chỉ có kết quả tổng quát của từng chức năng, kết quả chi tiết của từng test case xin vui lòng xem ở phần phụ lục
5.4.1 Kết quả kiểm thử chức năng Đăng nhập:
Bảng 5.7 Bảng kết quả kiểm thử của chức năng Đăng nhập
Hình 5.1 Thống kê kết quả kiểm thử chức năng Đăng nhập
5.4.2 Kết quả kiểm thử chức năng Tạo Group Space và Mời thành viên
Bảng 5.8 Bảng kết quả kiểm thử của chức năng Tạo Group Space và Mời thành viên
Hình 5.2 Thống kê kết quả kiểm thử chức năng Tạo Group Space và Mời thành viên
5.4.3 Kết quả kiểm thử chức năng Tạo Post
Bảng 5.9 Bảng kết quả kiểm thử của chức năng Tạo Post
Hình 5.3 Thống kê kết quả kiểm thử chức năng Tạo Post
5.4.4 Kết quả kiểm thử chức năng Chỉnh sửa Post
Bảng 5.10 Bảng kết quả kiểm thử của chức năng Chỉnh sửa Post
Hình 5.4 Thống kê kết quả kiểm thử chức năng Chỉnh sửa Post
5.4.5 Kết quả kiểm thử chức năng Bình luận Post
Bảng 5.11 Bảng kết quả kiểm thử của chức năng Bình luận Post
Hình 5.5 Thống kê kết quả kiểm thử chức năng Bình luận Post
5.4.6 Kết quả kiểm thử chức năng Đăng xuất
Bảng 5.12 Bảng kết quả kiểm thử của chức năng Đăng xuất
Hình 5.6 Thống kê kết quả kiểm thử chức năng Đăng xuất
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Báo cáo đã đạt được những kết quả đáng kể thông qua việc tìm hiểu lý thuyết về kiểm thử thủ công và kiểm thử tự động, cũng như áp dụng lý thuyết này vào thực hành kiểm thử thủ công và xây dựng hệ thống kiểm thử tự động.
Kiểm thử phần mềm bao gồm hai phương pháp chính: kiểm thử thủ công và kiểm thử tự động Kiểm thử tự động mang lại nhiều lợi ích, như tiết kiệm thời gian và tăng độ chính xác trong quá trình kiểm tra Để áp dụng tự động hóa kiểm thử hiệu quả, cần nắm rõ các phương pháp tiếp cận khác nhau và thực hiện các bước cần thiết, bao gồm xác định mục tiêu kiểm thử, lựa chọn công cụ phù hợp và thiết lập quy trình kiểm thử rõ ràng.
Áp dụng lý thuyết vào việc xây dựng kiểm thử thủ công và tự động cho các chức năng của phần mềm là rất quan trọng Việc sử dụng Robot Framework và Selenium Web Driver giúp tối ưu hóa quy trình kiểm thử tự động, nâng cao hiệu quả và độ chính xác trong việc phát hiện lỗi phần mềm.
+ Áp dụng lý thuyết để xây dựng các trường hợp kiểm thử thủ công làm tiền đề để xây dựng kiểm thử tự động
Thời gian thực tập hạn chế đã ảnh hưởng đến khả năng phát huy hết những thế mạnh của bản thân và cơ hội tham gia vào các dự án thực tế của doanh nghiệp Hơn nữa, em vẫn chưa hoàn thành việc kiểm thử tất cả các chức năng trên nền tảng Avaya Spaces.
Trong thời gian tới, tôi sẽ nỗ lực trau dồi kiến thức về kiểm thử phần mềm và thực hiện nhiều chức năng kiểm thử hơn trên nền tảng Avaya Spaces Tôi cam kết hoàn thiện bản thân để tiếp tục theo đuổi lĩnh vực này trong tương lai.