12/08/2018, 14:03

Performance testing cho ứng dụng Mobile

Tại sao chúng ta lại quan tâm đến vấn đề Performance testing Như các bạn đã biết, hầu hết những ứng dụng mobile trên thị trường hiện nay thì đều được thiết kế để cho càng nhiều người dùng sử dụng cùng một lúc càng tốt. Nhưng có một thực tế cũng phũ phàng không kém, đó là ngày càng có nhiều ...

Tại sao chúng ta lại quan tâm đến vấn đề Performance testing

Như các bạn đã biết, hầu hết những ứng dụng mobile trên thị trường hiện nay thì đều được thiết kế để cho càng nhiều người dùng sử dụng cùng một lúc càng tốt. Nhưng có một thực tế cũng phũ phàng không kém, đó là ngày càng có nhiều những vấn đề liên quan đến performance của ứng dụng mobile được tìm ra và báo cáo bởi người dùng. Một trong những khía cạnh quan trọng nhất giúp tăng sự tin tưởng của người dùng đối với một ứng dụng mobile đó là sự ổn định và tốc độ khi sử dụng ứng dụng đó. Vì vậy, nếu nhu cầu này không được đáp ứng, hoặc đáp ứng không đủ mức mong đợi, thì người dùng có xu hướng sẽ tìm kiếm lựa chọn mới tốt hơn để đáp ứng nhu cầu của mình. Để đảm bảo cho vấn đề này, chúng ta sẽ tìm đến Performance testing.

Performance_Testing.jpg

Vậy Performance testing chính xác là như thế nào và mục đích cụ thể của nó là gì ?

  • Performance testing là công việc được thực hiện để xác định cách các thành phần khác nhau của một ứng dụng thực hiện một khối lượng công việc cụ thể trong một số tình huống nhất định. Nó cũng có thể dùng để xác nhận và xác minh những thuộc tính chất lượng khác của hệ thống như là khả năng mở rộng, độ tin cậy và sử dụng tài nguyên. Performance testing tập trung vào việc giải quyết các vấn đề hiệu suất trong việc thiết kế và kiến trúc của một sản phẩm phần mềm. Thực hiện performance testing thực sự rất quan trọng đối với sự ổn định của một ứng dụng mobile -

  • Performance testing là một trong những thuộc tính chính cần được xem xét kĩ lưỡng khi xác định liệu một ứng dụng sẽ thành công hay không. Các mục tiêu chính của performance testing có thể liệt kê như sau :

    • Xác định ứng dụng sẽ thực hiện đầy đủ những yêu cầu về performance của hệ thống -

    • Xác nhận các ứng dụng sẽ giảm thiểu được sự cố xảy ra khi xử lý một khối lượng công việc lớn

    • Đảm bảo rằng ứng dụng có thể ngày một phát triển lớn hơn mà không bị các vấn đề về performance ảnh hưởng

    • Xác nhận phần cứng được sử dụng là vừa đủ (dung lượng và cấu hình của server)

Những loại Performance testing thông dụng

Có rất nhiều performance testing types và chúng ta phải dựa trên nhu cầu của khách hàng để lựa chọn cách thức cũng như testing type phù hợp nhất để giải quyết nhu cầu mà khách hàng muốn đảm bảo performance. Trong bài viết này sẽ cung cấp cho các bạn một số performance testing types thông dụng nhất :

StressTesting1.jpg

Load testing :

Load testing là một quá trình thêm nhu cầu vào một hệ thống hoặc thiết bị và đo lường phản ứng của nó. Load testing được thực hiện để xác định ứng xử của hệ thống trong các điều kiện tải bình thường và cao hơn điều kiện tải dự kiến. Nó giúp xác định công suất vận hành tối đa của một ứng dụng như các điểm “thắt cổ chai” (bottleneck) và xác định phần tử nào là nguyên nhân gây ra điều đó. Khi mức tải trên hệ thống vượt ra ngoài những cách thức sử dụng bình thường – để kiểm tra phản ứng của hệ thống ở những điểm cao bất thường hoặc cao điểm tải – thì được gọi là stress testing. Mức tải thường phần lớn là các điều kiện lỗi là kết quả mong đợi, mặc dù không tồn tại ranh giới rõ ràng khi một hoạt động chuyển dần từ load test trở thành stress test.

Lợi ích :

  • Phát hiện vấn đề về chức năng hoặc các vấn đề về tính đồng thời khi ứng dụng ở điều kiện overload

  • Xác định môi trường phần cứng chính xác cần thiết để sử dụng các ứng dụng.

  • Xác định được bao nhiêu người dùng và bao nhiêu tải mà ứng dụng có thể chịu được

Stress testing :

Stress testing là một hình thức kiểm thử được sử dụng để xác định tính ổn định của một hệ thống hoặc một thực thể được đưa ra. Nó liên quan đến những kiểm thử vượt quá khả năng bình thường của hệ thống, thường để xác định điểm phá vỡ, để quan sát các kết quả. Stress testing có thể có nghĩa cụ thể hơn trong một số ngành công nghiệp nhất định, như là kiểm thử tính mỏi của vật liệu.

Lợi ích :

  • Phát hiện liệu data có bị mất khi ứng dụng bị crash

  • Xác định được bao nhiêu tải ứng dụng có thể xử lý được trước khi app bị crash hoặc tốc độ xử lý chậm đi

  • Cho phép xác định tác nhân nào gây ra sự overload và thiết lập cảnh báo khi performance của ứng dụng đạt ngưỡng

  • Xác định những hành động cần làm để chuyển hướng rủi ro

Tạm Kết

Bởi vì số lượng các ứng dụng trên thị trường là rất nhiều và rất đa dạng, nên muốn tạo được sự tin tưởng của người dùng là rất khó khăn. Do đó, hiện nay chúng ta ngoài những khía cạnh chức năng cần được quan tâm phát triển , mà cũng nên xem xét những khía cạnh ngoài chức năng mà tạo ra better user experience khi user sử dụng ứng dụng của chúng ta.

Một trong những khía cạnh quan trọng nhất đó chính là khả năng làm việc dưới những điều kiện không thuận lợi. Performance testing chính là cách tốt nhất để giảm thiểu sự thất bại của một ứng dụng trong điều kiện thực tế.

Người viết sẽ còn trở lại trong phần 2 với những tools để thực hiện Performance Testing.

0