Chất lượng phần mềm - Yếu tố then chốt trong thế giới số
Đại dịch COVID-19 đã thúc đẩy nhanh tốc độ chuyển đổi số, và phần mềm đã trở thành yếu tố then chốt trong công việc, học tập và cuộc sống của chúng ta. Khi thế giới của chúng ta ngày càng được số hóa và phụ thuộc nhiều hơn vào các sản phẩm số, chất lượng phần mềm trở nên quan trọng hơn bao giờ hết.
- Bộ 1S8704A của Keysight - Chuẩn hoá giao thức kết nối IMS trên các thiết bị vô tuyến 5G NR
- Keysight - Nhà kiểm thử đầu tiên đạt chuẩn toàn cầu về đo kiểm 5G USIM của GCF
- Keysight - Qualcomm: Sự hợp tác mang đến tốc độ mới cho mạng 5G lên đến 3,5 Gbps
Với các hoạt động số hóa tiếp tục diễn ra nhanh chóng, việc sáng tạo và phát triển dựa trên phần mềm sẽ được tiếp tục. Vào năm 2020, phần mềm chất lượng kém đã gây tổn thất khoảng 2 nghìn tỉ USD cho nền kinh tế Mỹ, vì thế các tổ chức phải có biện pháp để cân đối giữa tốc độ phát hành và chất lượng phần mềm.
Phần mềm đang ngày acngf đóng vai trò quyết định đối với đời sống công nghệ hiện nay.
Để hiểu rõ hơn về vấn đề chất lượng phần mềm, chúng tôi đã buổi trao đổi với TS. Gareth Smith, Tổng Giám đốc bộ phận Tự động hóa Đo kiểm Phần mềm của Keysight để hiểu ro hơn tại sao hiện nay chất lượng phần mềm là yếu tố quyết định thành công trong kinh doanh và các tổ chức nên làm như thế nào để có thể cải thiện chất lượng phần mềm.
PV: Vì sao chất lượng phần mềm lại là một yếu tố quan trọng?
TS. Gareth Smith: Trong thập kỷ vừa qua, các tổ chức đã tập trung vào việc ra mắt các ứng dụng và dịch vụ mới càng nhanh càng tốt để có thể đáp ứng kịp thời nhu cầu thay đổi nhanh chóng và hỗ trợ chuyển đổi số. Tuy nhiên, áp lực về tốc độ cung cấp nhanh thường xuyên ảnh hưởng đến chất lượng phần mềm.
Chất lượng phần mềm là nhân tố then chốt trong một thế giới ưu tiên sử dụng kỹ thuật số. Chẳng hạn, một lỗi phần mềm không được phát hiện có thể làm ngưng trệ hoạt động của hệ thống, lỗi cấu hình sai các nền tảng điện toán đám mây có thể dẫn đến dữ liệu bị vi phạm hoặc mất mát.
Khiếm khuyết của phần mềm khiến cho chi phí phát triển tăng đáng kể. Hơn nữa, khi phần mềm đã được phát hành, chi phí tìm kiếm và xử lý lỗi sẽ cao hơn đáng kể so với giai đoạn thiết kế/phát triển.
PV: Các tổ chức nên làm như thế nào để nâng cao chất lượng phần mềm?
TS. Gareth Smith: Khi phần mềm được phát triển nhanh hơn, quá trình đo kiểm và giám sát cần được ưu tiên để tạo ra trải nghiệm số trơn tru, chất lượng cao (đa kênh - omni channel) giúp người sử dụng đạt được kết quả mong muốn.
Các nền tảng kiểm thử phần mềm thế hệ mới hỗ trợ quá trình này bằng cách ứng dụng những kỹ thuật trí tuệ nhân tạo (AI) tiên tiến nhất để tìm hiểu về mức độ sử dụng thực tế của ứng dụng, các hình mẫu về lỗi phần mềm trong quá khứ và những tính năng của phần mềm hữu ích cho kinh doanh.
Những nền tảng này có thể tự động tạo các bài đo ứng dụng theo những hành trình người dùng có tầm quan trọng lớn nhất đối với kết quả kinh doanh. Việc tự động hóa kiểm thử phần mềm toàn diện thông minh này bên trong môi trường DevOps cho phép các doanh nghiệp đẩy nhanh hoạt động cải thiện chất lượng phần mềm và giảm tải công việc để nâng cao năng suất lao động của đội ngũ nhân viên.
PV: Công nghệ AI đang thay đổi phương thức tự động hóa kiểm thử phần mềm như thế nào?
TS. Gareth Smith: Công nghệ AI giúp mở rộng hoạt động tự động hóa kiểm thử phần mềm theo các quy tắc đơn giản. Công nghệ này sử dụng các thuật toán và dữ liệu lớn nâng cao hiệu quả huấn luyện các hệ thống.
Nhờ ứng dụng các công nghệ suy luận, giải quyết vấn đề và máy học, công cụ tự động hóa đo kiểm ứng dụng AI có thể mô phỏng hành vi của con người và giảm thiểu việc các nhà kiểm thử phần mềm phải trực tiếp thực hiện các tác vụ đơn giản.
TS. Gareth Smith, Tổng Giám đốc bộ phận Tự động hóa Đo kiểm Phần mềm của Keysight.
Giải pháp tự động hóa kiểm thử thông minh sẽ đánh giá chức năng, hiệu năng và khả năng sử dụng của các sản phẩm số thay vì chỉ xác minh mã phần mềm.
Giải pháp này tích hợp các công nghệ AI, máy học và phân tích để kiểm thử và giám sát trải nghiệm người dùng (UX); giải pháp phân tích ứng dụng và dữ liệu thời gian thực để tự động tạo và thực thi các hành trình khách hàng, từ đó tạo ra phương pháp thông minh hơn để thường xuyên kiểm thử phần mềm và các ứng dụng trên mọi nền tảng.
Các công cụ ứng dụng AI loại bỏ sự chồng lấn về phạm vi kiểm thử, tối ưu hóa hoạt động kiểm thử hiện tại nhờ khả năng đoán định trong kiểm thử và rút ngắn thời gian từ lúc phát hiện lỗi tới phòng ngừa lỗi phát triển phần mềm. Nhờ đó chất lượng phần mềm được cải thiện.
PV: Nền tảng tự động hóa của Keysight chuyển đổi quá trình tự động hóa kiểm thử như thế nào?
TS. Gareth Smith: Nền tảng tự động hóa thông minh của Keysight là công cụ kiểm thử hoàn toàn không can thiệp duy nhất trên thị trường, bảo đảm phạm vi kiểm thử toàn diện mà không cần can thiệp vào mã nguồn hay cài đặt bất cứ phần mềm nào vào hệ thống cần được kiểm thử (SUT).
Công nghệ của chúng tôi đứng bên ngoài ứng dụng và báo cáo về các vấn đề liên quan đến hiệu năng, lỗi lập trình và các lỗi khác, không cần biết đến các lớp (stack) công nghệ hỗ trợ của ứng dụng. Đây là một tính năng trọng yếu đối với các lĩnh vực như y tế, chính phủ và quốc phòng.
Tự động hóa ứng dụng AI có thể kiểm thử mọi công nghệ trên mọi thiết bị, hệ điều hành, trình duyệt hay bất cứ lớp công nghệ nào, từ giao diện người dùng UI tới API và cơ sở dữ liệu.
Các ứng dụng này có thể bao gồm mọi loại ứng dụng, từ website có độ linh động cao cho tới các hệ thống back-office cũ, các điểm bán hàng hay các hệ thống chỉ huy và điều khiển.
Mục tiêu tổng quát của tự động hóa thông minh là hiểu rõ cách thức vận hành của ứng dụng hay phần mềm ảnh hưởng như thế nào đến trải nghiệm khách hàng và kết quả kinh doanh. Hơn nữa, tự động hóa thông minh còn có thể xác định cơ hội cải thiện và dự báo tác động kinh doanh của những cải thiện đó.
PV: Xin ông cho biết một số xu hướng tương lai của lĩnh vực Chất lượng phần mềm?
Cùng với sự tăng tốc của ứng dụng kỹ thuật số, chất lượng phần mềm sẽ ngày càng trở nên quan trọng. Mọi tổ chức số đều phải liên tục giám sát hiệu năng của tài sản số của mình cũng như cách thức người dùng tương tác với những tài sản số đó để bảo đảm cung cấp trải nghiệm tốt nhất có thể.
Dưới đây là 5 xu hướng TS. Gareth Smith tin tưởng rằng sẽ xuất hiện trong lĩnh vực Bảo đảm chất lượng (Quality Assurance) trong 3 năm tới:
1. Đảm bảo chất lượng từ chức năng tuân thủ sẽ trở thành trung tâm lợi nhuận.
Nếu doanh nghiệp của bạn không thể trở thành doanh nghiệp đầu tiên phát hành phần mềm, với trải nghiệm người dùng tuyệt vời, chức năng hoàn hảo và tốc độ phản ứng tuyệt vời, thì xác suất của doanh nghiệp của bạn thất bại hay gặp khó khăn sẽ rất cao.
Tuy nhiên nếu có thể đạt được những mục tiêu trên, bạn sẽ thành công. Như vậy, việc áp dụng bảo đảm chất lượng để liên tục đo lường và dự báo về việc có đạt được các mục tiêu nói trên hay không sẽ trở thành trung tâm lợi nhuận, chứ không đơn thuần là một chức năng tuân thủ nữa.
2. Trải nghiệm người dùng (UX) là nhân tố tạo khác biệt then chốt cho doanh nghiệp của bạn.
Trải nghiệm người dùng chính là mặt tiền cửa hiệu của bạn - giúp bạn thu hút và giữ chân khách hàng. Trải nghiệm khách hàng phải xuất sắc, nếu bạn không muốn bị tụt lại phía sau.
3. Hiệu năng nếu thời gian trễ của phần mềm/ứng dụng của bạn ở mọi thời điểm lớn hơn 3 giây, doanh nghiệp của bạn sẽ thất bại.
Sự kiên nhẫn của khách hàng thế hệ Millennials rất thấp, và còn thấp hơn nữa ở khách hàng Thế hệ Z! 3 giây là khoảng thời gian trễ mà khách hàng của bạn sẽ chờ đợi trước khi chuyển sang đối thủ cạnh tranh. Bạn cần có khả năng kiểm thử tốt và thường xuyên hơn về tải công việc và hiệu năng để bảo đảm quy mô và thời gian đáp ứng.
4. Giả lập đối thủ số (digital nemesis)
Kiểm thử phần mềm phải trở nên thông minh hơn. Một đối thủ số có thể sử dụng kỹ thuật "tạo hỗn loạn" với sự trợ giúp của AI để phát hiện ra các điểm yếu trong bất cứ hệ thống nào, chỉ ra và cho phép xử lý các điểm yếu đó trước khi chúng bị người khác phát hiện. Tính năng này có thể phát hiện các điểm yếu về chức năng, hiệu năng, trải nghiệm người dùng và an ninh bảo mật.
5. Kiểm thử gắn kết toàn diện từ phần cứng cho tới trải nghiệm người dùng.
Đã qua rồi những ngày bạn chỉ kiểm thử một lớp trong một hệ thống công nghệ hay thực hiện một loại hình kiểm thử. Đo kiểm máy đầu cuối 5G, đo kiểm trạm gốc 5G, đo tải mạng, kiểm thử năng lực xử lý tải của ứng dụng, kiểm thử chức năng, đo kiểm API, kiểm thử hiệu năng, kiểm thử an ninh bảo mật, kiểm thử trên iOS, kiểm thử trên Android, kiểm thử đảm mây, kiểm thử Windows vân vân và vân vân ...
Nhưng còn đo kiểm toàn diện hệ thống, với tất cả các lớp, các luồng công việc và các điểm tương tác thì sao? Nếu không làm được điều này, chúng ta sẽ không bao giờ kiểm thử được hệ thống hoạt động thực tế; sẽ không bao giờ cô lập được vấn đề, vì vấn đề có thể sẽ không xảy ra khi không có tương tác giữa các lớp khác nhau hoặc trong những điều kiện kiểm thử tương tác khác nhau.
Vì thế chúng ta cần nâng hoạt động kiểm thử lên một tầng cao mới - với khả năng kiểm thử gắn kết đa lớp - kết hợp các kỹ năng của các nhà kiểm thử phần cứng, mạng, phần mềm và trải nghiệm người dùng vào một quy trình toàn diện.
Theo Tạp chí Điện tử
Tối thiểu 10 chữ Tiếng việt có dấu Không chứa liên kết
Gửi bình luận