Chuyển đến nội dung chính

Kiểm thử trên di động

Giới thiệu
Phần này mình nói về mảng công việc chính của mình hiện tại.

Các loại kỹ thuật kiểm thử cho ứng dụng điện thoại thông minh có thể phân thành các group như sau:
  • Functional Testing Test Cases
  • Performance Testing
  • Security Testing Test Cases
  • Phone Permission...

Functional Testing Test Cases
Kiểm thử tính năng - Ở đây chúng ta tập trung kiểm thử dựa trên tính năng của sản phẩm, cách thông thường nhất. Đối với ứng dụng di động thì ta tập trung vào các màn hình tính năng giao diện...

Khi ứng dụng có các textbox thì mình sẽ thực thi kiểm thử trên: phân vùng tương đương, giá trị biên của textbox.

Đối với các màn hình như: login thì ta kiểm tra dựa trên tính năng nhập liệu email, password, ... hay các tính năng session hệ thống...

Performance Testing
Trên mảng di động điều đặc biệt là khả năng về năng suất, mặc dù những thiết bị dạng mới được nâng cấp khá mạnh về phần cứng (4GbRam, 8Gb...) nhưng hiệu năng vẫn là một vấn đề lúc sử dụng. (Khi xem video quá mức điện thoại vẫn có thể bốc khói ...) cho nên hiệu suất, năng suất của app luôn là vấn đề lớn. Nếu ứng dụng của bạn bao gồm các tính năng video hoặc xử lý video thì đó là một thứ cần xem xét. (tránh đưa cho người dùng một trải nghiệm cầm một cục than đỏ trên tay).

Về các chỉ số đo lường perfomance app - hiệu suất thì có thể dùng mức tiêu thụ pin để kiểm tra chỉ số này, tuy nhiên các chỉ số này đôi khi sai lệch lúc bạn đang sạc pin hoặc có những dạng app malware chạy nền ...

Chú ý trong thời điểm hiện tại: có những dòng ứng dụng phục vụ cho việc đào coin ảo (crypto coin) sử dụng tài nguyên chip máy làm máy nóng nên tiêu thụ rất nhiều pin của máy, dòng này không được tính vào trong perfomance test ở đây!
 
 
Security Testing Test Cases
Do các loại app của điện thoại khá mới, và tùy loại app nên phần bảo mật không được xem xét nhiều lắm, điện thoại là một nền tảng đang có độ bảo mật thấp, lý do là hãng phát hành không coi trọng portal client này.

Một số lỗi thường gặp trong Security ở điện thoại là: không mã hóa phương thức truyền tải, bảo mật bluetooth, SIM cards, thông tin cá nhân...

Permission
Một số quyền truy cập của người dùng được app request nhưng không sử dụng, hoặc truy cập nhưng không xử lý handle tốt dẫn đến bad UX



Nhận xét

Bài đăng phổ biến từ blog này

Bảy nguyên tắc cơ bản của Kiểm thử phần mềm

Nội dung: nói và diễn giải về bảy nguyên tắc cơ bản trong testing software. Bài này là bài lý thuyết bổ sung và tester phải nắm được nằm lòng các nguyên tắc này! Bảy nguyên tắc (như khẩu huyết trong võ công): Kiểm thử tất cả mọi trường hợp là không thể được. ( EXHAUSTIVE testing is not possible ). Giải thích như sau: Một form có textbox cho phép nhập từ 1 -> 1.000.000.000.000. Nếu để kiểm thử nhập liệu cho textbox này ta phải kiểm thử 1k tỷ lần. Mỗi thao tác nhập cho là 1 giây, và phép toán kiểm tra nhập liệu là 0.1 giây nữa thì ta phải mất xấp xỉ 1k tỷ giây là khoảng 31k năm để thực thi nó. Đời người chỉ khoảng một trăm năm, vậy phải mất cả mấy nghìn đời để thực thi kiểm tra một textbox mà chưa kể đến nhiều đối tượng khác cho nên mới nói điều này là không thể làm được! (Chi phí nuôi nghìn người và giá trị bỏ ra là không xứng). Để xử lý thì ta: dùng kỹ thuật phân vùng tương đương, Phân nhánh nghiệp vụ, chia lớp xử lý... (Sẽ nói chi tiết sau). Kiểm thử là chỉ ra sai sót đang có ...

Ba lợi ích không ngờ tới của việc kết hợp test API trong quá trình code.

Bằng việc kết hợp TTD (Phát triển phần mềm theo hướng test) trong đó có API testing đưa đến ba hiệu quả rất thiết thực sau đây: 1. Chất lượng test. Nếu bạn chờ sau khi hoàn thành xong việc phát triển mới bắt tay vào test API thì những testcase của bạn sẽ có xu hướng trở thành happy case (những case thuận) và rất ít khi cho ra lỗi. Hiệu quả của việc này là phần mềm của bạn sẽ chạy rất khó khăn khi đưa ra môi trường thực tế. Ngược lại nếu bạn thực hiện API testing sớm thì những passive case sẽ chạy được và làm cho API trở nên mạnh mẽ và sáng tạo có khả năng hoạt động linh hoạt về lâu dài. 2. Test coverage (Độ bao phủ test). Thông thường API sẽ bao phủ toàn bộ các chức năng chính của phần mềm bạn, với xu hướng mobile web và đa nền hoạt động như hiện nay, độ che phủ chức năng của API ngày lại càng trở nên linh động và bao trùm. Do đó nếu làm tốt việc test API, thì bạn có thể khẳng định rằng phần mềm của bạn đã được bao phủ bởi nhiều testcase. 3. Test reuse (Sử dụng lại) Khi sử ...

Những trải nghiệm tệ bạc từ Phone UX

Dưới đây liệt kê một số Function và UX tệ của vài app. 1. SmartPay - Flow đăng ký và liên kết ngân hàng: Bắt nạp tiền 10k để xác thực, nhưng không hứa khi nào trả lại 10k này. - Sau khi bạn đăng ký xong bắt người dùng muốn liên kết ngân hàng thì phải trùng bởi SDT. Số điện thoại tuy là không thể thiếu, nhưng không bắt buộc là unique! (Rule này phải luôn nhớ, bởi rất nhiều App đang KYC qua số phone và tưởng rằng phone này là primary key!) 2. Tiki - Người dùng nếu remove app trên điện thoại 1 thời gian, sau đó cài lại thì app thì rơi vô exception điện thoại chưa xác thực. Để xác thực thì cần pair SDT, nếu SDT hết tiền, bị khóa 2 chiều => vô vọng! ... 3. SenPay - Khi bạn muốn mua hàng và sử dụng trên SenPay thì phải chờ một ngày may mắn, nếu không SenPay sẽ cho bạn ăn quả chờ OTP phone!