DI ĐỘNG VÀ PHƯƠNG PHÁP PHÁT TRIỂN LINH HOẠT
2.2. Kỹ thuật phân tích và tái cấu trúc mã nguồn để nâng cao hiệu năng của ứng dụng d
2.2.2. Kiểm thử hiệu năng
Kiểm thử hiệu năng là việc xác định khả năng đáp ứng thời gian (response time), khả năng đáp ứng thông lượng (throughput), độ tin cậy, khả dụng và khả năng mở rộng của ứng dụng. Kiểm thử hiệu năng là một phần quan trọng trong tồn bộ q trình kiểm thử ứng dụng di động, tiêu chuẩn đo lường hiệu năng của các ứng dụng di động dựa trên các yếu tố [83]:
o Thời gian – thời gian đáp ứng hành động của người dùng, người dùng có xu hướng ít kiên nhẫn.
o Pin - nguồn cung cấp cho di động, đây là yếu tố rất quan trọng
o Băng thông mạng
o Bộ nhớ và CPU
o Và binary size- thời gian nạp ứng dụng, sử dụng bộ nhớ, thời gian tải và cài đặt ứng dụng
Người dùng di động ngày càng trở nên khó tính và luôn mong đợi các ứng dụng di động phải thực hiện như máy tính PC. Theo [77], 71% người dùng ứng dụng di động kỳ vọng việc mở ứng dụng web trên thiết bị di động nhanh như trên PC của họ, 5 giây là khoảng thời gian cho phép mở một ứng dụng hoặc website trên thiết bị di động; 74% người dùng di động sẽ từ bỏ hoặc thoát ứng dụng, website nếu thời gian đáp ứng quá 5 giây và 1/3 trong số đó sẽ chuyển sang sử dụng ứng dụng của đối thủ cạnh tranh. Việc thiết kế và thực hiện kiểm thử hiệu năng là một nhiệm vụ khá khó khăn, thiết lập môi trường thử nghiệm hiệu năng tương tự như môi trường sản xuất sản phẩm luôn luôn là một sự khởi đầu và đòi hỏi khắc khe nhất của hoạt động này. Nó địi hỏi sự tham gia của tất cả các bên liên quan của ứng dụng được phát triển, đội ngũ kỹ sư có tay nghề cao, thiết lập cơ sở hạ tầng lớn... Tuy nhiên, do kiến trúc phức tạp, các ứng dụng di động rất khó kiểm thử, việc kiểm thử các loại ứng dụng khác nhau (web, native, hybrid) trên các nền tảng khác nhau (iOS, Android, Windows …) và các mạng di động khác nhau (Wifi, 3G, 4G, 5G…) cũng là một thách thức lớn.
Một số kỹ thuật kiểm thử hiệu năng cho ứng dụng di động:
- Xem xét và tối ưu mã nguồn (kiểm thử tĩnh): Kiểm thử tĩnh là hình thức kiểm
mã nguồn, bản phân tích và thiết kế, kiến trúc của hệ thống. Trong kiểm thử tĩnh, các lỗi được phát hiện ở phương pháp kiểm thử này đôi khi rất quan trọng so với các kiểm thử tự động như phát hiện các sai sót trong thiết kế, vấn đề tối ưu trong thiết kế và viết mã… Việc xem xét mã nguồn, thanh tra mã nguồn để tối ưu hóa chương trình, phát hiện lỗi, tối ưu hóa mã nguồn cũng được xem là một phương pháp của kiểm thử hiệu năng.
-Xem xét và tối ưu kiến trúc: Việc xem xét và tối ưu mã nguồn được thực hiện
tại giai đoạn lập trình, giai đoạn xem xét và tối ưu kiến trúc sẽ được thực hiện ở giai đoạn thiết kế kiến trúc và cả thiết kế chi tiết. Đây là giai đoạn khá quan trọng, hoạt động kiểm thử chỉ thực hiện bằng các phương pháp xem xét đánh giá và thanh tra. Với giai đoạn thiết kế và kiến trúc thì hoạt động thanh tra là cần thiết để đảm bảo có được một thiết kế tốt, có chất lượng. Bên cạnh việc thiết kế các thành phần, chức năng của ứng dụng thì việc quan tâm kiểm tra các thiết kế có đáp ứng được các thuộc tính chất lượng của sản phẩm: tốc độ, thời gian đáp ứng, sử dụng bộ nhớ, tính tiết kiệm, tiện nghi, khả năng nâng cấp, bảo trì ứng dụng.
-Kiểm thử khả năng chịu tải: Mục đích của kiểm thử khả năng chịu tải là để xác
định xem các ứng dụng có thể duy trì số lượng yêu cầu của người sử dụng với thời gian đáp ứng chấp nhận được. Mục đích của thử nghiệm là hướng tiêu chuẩn tải trọng tối đa cho phép số người sử dụng đồng thời của một ứng dụng có thể duy trì được trước khi hệ thống bị lỗi. Ở phía máy chủ (đối với ứng dụng web hoặc hybrid) cần phải hiểu sự khác biệt về thời gian đáp ứng, tải các gói tin, độ trễ trong việc cung cấp các tin nhắn, ứng dụng bị treo,...Về phía máy khách cần phải giải quyết sự khác biệt thông thường của hành vi ứng dụng trên các nền tảng khác nhau và các thiết bị cầm tay, bộ nhớ và sử dụng CPU, vấn đề tốc độ tải và tiêu hao năng lượng pin.