kiem chung phan mem

CHƯƠNG 20. KIỂM THỬ CÁC ỨNG DỤNG WEB TRÊN THIẾT BỊ DI ĐỘNG

Tại sao đọc chương này?

Trong chương này chúng ta sẽ sử dụng lại các khái niệm về ứng dụng Web trên thiết bị di động được trình bày trong Chương 6, “Nền tảng ứng dụng Web trên thiết bị di động”. Mục tiêu của chương này nhằm cung cấp cho bạn những kinh nghiệm có thể sử dụng để phát triển những chiến lược kiểm thử, kế hoạch kiểm thử và ca kiểm thử cho ứng dụng Web trên thiết bị di động

Giới thiệu

Các chiến thuật kiểm thử ứng dụng Web và ứng dụng client-server sẽ tiếp tục được áp dụng trong kiểm thử các ứng dụng Web trên thiết bị di động. Do nền tảng di động là một môi trường khác, đặc biệt về phía client nên nảy sinh các vấn đề và chiến lược mới cần xem xét.

Trong chương này, chúng ta sẽ đối chiếu kiểm thử các ứng dụng trên thiết bị di động và trên máy tính cá nhân. Chỉ ra các hạn chế trên client của thiết bị di động là nguyên nhân gây ra lỗi mới.

Chúng ta cũng sẽ thảo luận về nhiều loại kiểm thử như: kiểm thử ứng dụng trên thiết bị di động; kiểm thử với trình mô phỏng (giả lập); khảo sát các công cụ hỗ trợ kiểm thử và một số bài học mới.

So sánh kiểm thử ứng dụng Web trên thiết bị di động với kiểm thử ứng dụng Web trên máy tính cá nhân

Như đã thảo luận trong Chương 6, sự khác nhau chủ yếu giữa một client trên thiết bị di động và client trên máy tính cá nhân là trong trường hợp di động, nội dung Web được dịch bởi trình duyệt Web thực thi trên client. Loại trình duyệt này có nhiều hạn chế bởi nó chạy trên một thiết bị di động và thường sử dụng mạng không dây với băng thông thấp. Để khắc phục các hạn chế này cần các giải pháp thiết kế và lập trình sáng tạo. Tuy nhiên, các giải pháp này có thể sẽ là nguyên nhân gây lỗi mà chúng ta cần kiểm thử.

HẠN CHẾ CỦA THIẾT BỊ

-

Kích thước màn hình nhỏ.

Các ứng dụng Web cho thiết bị di động cần được thiết kế trên cơ sở tính đến các hạn chế kích thước màn hình chứ không chỉ đơn thuần là chuyển đổi nội dung Web. Kiểm thử phải đảm bào rằng sự thiết kế lại đáp ứng mục tiêu đề ra.

-

Công suất CPU thấp.

Với khả năng xử lý hạn chế, thiết bị client thường làm việc với trình duyệt nhỏ chỉ xử lý văn bản. Cần chuyển đổi ứng dụng Web trên thick-client thành ứng dụng Web trên thin-client di động.

-

RAM hạn chế.

Hạn chế này ngăn chặn thực thi các ứng dụng lớn trên thiết bị.

-

Bộ nhớ lưu trữ bị hạn chế.

Điều này có nghĩa là không có hoặc khả năng lưu trữ dữ liệu phía client rất nhỏ.

-

Phụ thuộc quản lý nguồn năng lượng.

Điều gì xảy ra nếu người dùng đang điền thông tin và thiết bị chuyển sang chế độ sleep? Dữ liệu có bị mất?

-

Phụ thuộc vào thời gian của pin.

Thiết bị hết pin có thể dẫn đến mất dữ liệu. Một thiết bị client sẽ tiêu tốn năng lượng trong khi kết nối đến server để thực thi các thao tác, điều đó nhanh chóng làm hết pin. Điều này ảnh hưởng như thế nào đến sự sử dụng các ứng dụng Web trên thiết bị di động với các tính năng mở rộng?

-

Giao diện nhập cồng kềnh.

Gõ vào hoặc viết bằng bút cảm ứng thay vì sử dụng cách gõ truyền thống và sử dụng chuột, cũng có thể tạo lỗi.

·

Lưu ý: Một số các hạn chế này có thể nghiêm trọng hơn đối với một điện thoại di động so với máy PDA hay máy tính xách tay.

CÁC VẤN ĐỀ VỀ MẠNG KHÔNG DÂY

-

Băng thông mạng thấp.

Yêu cầu phiên bản nội dung Web “nhẹ” để giảm kích thước dữ liệu truyền qua mạng.

-

Phụ thuộc kiến trúc hạ tầng hỗ trợ của hãng thứ ba.

Đây là một thách thức do các kiến trúc hạ tầng khác nhau được triển khai bởi các nhà cung cấp ở Mỹ và trên thế giới như Nokia, Ericsson, Nortel và Lucent. Hơn nữa, các cách cài đặt gateway khác nhau và kết hợp khác nhau của các server tối ưu lưu thông dữ liệu đang sử dụng bởi các nhà cung cấp khác nhau. Trường hợp rất phổ biến là một ứng dụng Web trên thiết bị di động hoạt động tốt khi kết hợp nhà cung cấp (hạ tầng, gateway) này nhưng hoạt động không đúng trên mạng của nhà cung cấp khác.

-

Xử lý ký tự.

Mỗi nhà cung cấp có quy định xử lý đặc biệt đối với một số ký tự. Sử dụng các ký tự này trong nhập liệu có thể gây lỗi.

-

Giới hạn kích thước của message.

Nếu kích thước dữ liệu cần truyền lớn hơn kích thước được phép truyền qua mạng không dây, phần dữ liệu vượt quá có thể bị cắt bỏ bởi nhà cung cấp.

-

Hạn chế trên kích thước lưu trữ và băng thông của người dùng.

Khi đăng ký một tài khoản, người dùng thường bị giới hạn kích thước lưu trữ và băng thông được phép sử dụng hằng tháng. Nếu người dùng đã sử dụng hết tài nguyên được cấp, dữ liệu có thể không được gửi đi. Điều này có thể gây lỗi đối với ứng dụng Web trên thiết bị di động cần được kiểm thử.

CÁC YẾU TỐ PHỤ THUỘC KHÁC

-

Phụ thuộc vào đồng bộ dữ liệu.

Các thiết bị di động và các ứng dụng trên thiết bị di động sử dụng tiến trình đồng bộ dữ liệu để chuyển dữ liệu giữa client và server, và ngược lại (xem giải thích trong chương 6).

-

Phụ thuộc vào định dạng nội dung Web.

Bảng 20.1 liệt kê các trình duyệt đối với mỗi loại hệ điều hành, mỗi trình duyệt hỗ trợ các tính năng: SSL, HTML, WML, XML, cHTML, cookie, ActiveX, Java applet, bảng và hình ảnh. Thông tin này cho thấy sự khác nhau giữa các trình duyệt này. Vấn đề là bạn cần tập hợp các thông tin cần thiết để hiểu việc bạn phải làm khi một thiết bị hay một công ty về hệ điều hành của thiết bị muốn hỗ trợ trình duyệt x, y và z; sau đó bạn sẽ có thể kiểm thử sự hỗ trợ đó. Hơn nữa, như đã thảo luận trong Chương 17, “Kiểm thử khả năng tương thích và cấu hình”, bạn nên biết rằng thậm chí khi một trình duyệt cam kết hỗ trợ một vài tính năng, không có nghĩa là nó sẽ tương thích với nội dung trang Web tại server của bạn, như script, CSS và Java applet.a Bảng 20.1 Ví dụ các trình duyệt trên PDA

·

Lưu ý: Thông tin trong bảng 20.1 không hoàn toàn đầy đủ. ở vào thời điểm xuất bản cuốn sách này, một số thông tin có thể không còn đúng.

Ví dụ trình bày trong hình 20.1a, 20.1b và 20.1c minh họa các vấn đề mà bạn có thể đối mặt trong kiểm thử các ứng dụng Web trên thiết bị di động.

Trang Web có một listbox, mà từ đó người dùng có thể lựa chọn một mục. Sau đó, dựa vào lệnh onChange = “jumpTo” để thực thi script hiển thị sự chọn lựa Audio-Visual.

Hình 20.1a Listbox được hiển thị trong trình duyệt trên máy tính cá nhân và trình duyệt của Palm OS.

Hình 20.1b Audio-Visual được chọn từ listbox

Ví dụ này cho thấy sử dụng cùng một dãy các thao tác trên một trình duyệt chạy trên Palm OS sẽ không hoạt động, bởi vì nó không hỗ trợ lệnh onChange = “jumpTo”; như thế, người dùng sẽ không thể duyệt đến trang khác sử dụng giao diện listbox như đã thiết kế.

Lưu ý rằng ví dụ này không có nghĩa là trình duyệt Web, Website hoặc trang Web hoạt động đúng hay không mà chỉ đơn thuần chỉ ra khả năng không tương thích có thể tồn tại. Loại không tương thích này không phân biệt các trình duyệt hay Website.

Hình 20.1c Trang Audio-Visual hiển thị đúng trong trình duyệt trên máy tính cá nhân, nhưng không đúng trên trình duyệt Palm OS.

Các hình 20.2a, 20.2b, 20.2c và 20.2d minh họa một ví dụ khác về cách các trình duyệt Web khác nhau hiển thị cùng một trang Web. Mặc dù, trong tất cả các trường hợp, trang Web hoạt động. Lưu ý rằng các trình duyệt định dạng các hình ảnh một các khác nhau: Trình duyệt Palmscape thay đổi kích cỡ ảnh GIF (Graphics Interchange Format) Hot Jobs trong khi các trình duyệt khác thì không; ảnh GIF quảng cáo được hiển thị trong một số trình duyệt nhưng không phải tất cả trong các trình duyệt.

Hình 20.2a Yahoo.com trong Eudora 2.1 (trình duyệt chỉ hỗ trợ văn bản).

Hình 20.2b Yahoo.com trong Palmscape 3.16E

Hình 20.2c Yahoo.com trong Blazer 2.0.

Hình 20.2d Yahoo.com trong AvantGo 4.0

Các hình 20.3a, 20.3b, 20.3c minh họa các vấn đề khi hiển thị một trang Web sử dụng 3 trình duyệt khác nhau. Trong tất cả trường hợp, các trình duyệt có thể phân tích nội dung.

Trong trường hợp của trình duyệt trên máy tính cá nhân và trình duyệt trên Palm hỗ trợ HTML và WML, nội dung không được hiển thị một cách đúng đắn nhưng vẫn có thể hữu ích.

Trong trường hợp của trình duyệt trên Palm không hỗ trợ WML, nó phân tích đúng nội dung HTML, nhưng hiển thị và định dạng không hữu ích.

Ở đây vấn đề không phải trang Web lỗi hay trình duyệt lỗi hoặc nhà sản xuất ứng dụng không hỗ trợ một vài chức năng. Vấn đề ở đây là chỉ ra cho bạn các vấn đề tiềm tàng phải tính đến, hoặc nên tìm kiếm khi kiểm thử các ứng dụng Web trên thiết bị di động.

Hình 20.3a Trang chủ Lycos bằng HTML được hiển thị trong Microsoft IE 6.0.

Hình 20.3b Trang chủ Lycos bằng WML được hiển thị trong trình duyệt trên Palm có hỗ trợ WML.

Hình 20.3c Trang chủ Lycos bằng WML được hiển thị trong trình duyệt trên Palm không hỗ trợ WML.

Các loại kiểm thử khác nhau

Kiểm thử cài đặt add-on

Các thiết bị di động thick-client, như PDA và smartphone, cung cấp thiết bị lưu trữ phụ và khả năng cài đặt phần mềm add-on bao gồm trình duyệt, các thành phần phía client khác và các template (như các ứng dụng Web Clipping cho các thiết bị Palm OS). Bạn cần xem xét những gì liên quan đến quá trình cài đặt các thành phần này và thiết kế các ca kiểm thử để bao quát các kịch bản cài đặt khác nhau, bao gồm các hệ điều hành chéo, các thiết bị chéo, các phiên bản trình duyệt chéo… (Xem thêm thông tin trong Chương 16, “Kiểm thử cài đặt”).

Kiểm thử đồng bộ dữ liệu

Do băng thông mạng không dây bị hạn chế, một trong những giải pháp thiết kế phổ biến là tải xuống nội dung Web để hiển thị sau đó ngắt kết nối mạng. Tiến trình đồng bộ có thể thực hiện trong 2 cách:

-

Phương pháp

đồng bộ với ứng dụng trên máy tính cá nhân. Trong trường hợp này, máy tính cá nhân luôn có kết nối đến Internet. Sau đó, nội dung Web trên máy tính cá nhân có thể được truyền đến thiết bị qua quá trình đồng bộ dữ liệu.

-

Đồng bộ cũng có thể được thực hiện nhờ vào mạng không dây. Người dùng đồng bộ thiết bị với một proxy server qua kết nối không dây. Các trang Web với định dạng trước được lưu trữ trên các Web server kết nối đến Proxy server sẽ được truyền đến thiết bị trong quá trình đồng bộ. Người dùng có thể duyệt các trang Web được truyền đến, đang được lưu trữ trên thiết bị.

Ví dụ, AvantGo cung cấp khả năng truy cập các trang HTML được định dạng trước, tải lên trên thiết bị di động để xem với trình duyệt AvantGo khi không kết nối mạng. Đặc biệt các trang Web được định dạng để xem trên thiết bị di động có thể được tổ chức thành các kênh (channel). AvantGo cung cấp các hướng dẫn tạo trang tương thích cho người phát triển. Các trang ở trên Web server được đồng bộ hóa đến thiết bị của người dùng qua proxy server của AvantGo. Sau đó, người dùng có thể duyệt các trang được lưu trữ trong bất kỳ trình duyệt Web khác. Họ có thể điền các mẫu, thêm và xóa các trang, tải lại nội dung trong các lần đồng bộ tiếp theo.

Ngược lại, người dùng có thể tương tác thời gian thực, duyệt trực tuyến

khi các trang Web được truy cập trực tiếp qua kết nối có dây hoặc không dây giữa thiết bị và server. Các trang Web được duyệt có thể được đồng bộ với máy tính cá nhân sau đó. Mặc dù ứng dụng Web cần được kiểm thử ít có sự kiểm soát qua cơ chế đồng bộ, có các hiệu ứng tiềm ẩn trên hành vi của ứng dụng liên quan đến đồng bộ dữ liệu. Ví dụ, nếu bạn lấy một cookiee khi duyệt một Website, khi bạn kết nối trực tiếp đến Website đó, cookie sẽ được gửi đến client trên thiết bị di động (giả sử rằng nó hỗ trợ cookie). Sau đó, khi bạn duyệt nội dung không kết nối mạng của cùng Website đó qua tiến trình đồng bộ với máy tính cá nhân, phiên bản cookie trên máy tính cá nhân cho Website đó có thể được ghi đè lên phiên bản trên thiết bị di động, đó không phải là điều được mong muốn.

Tất cả các kịch bản này nên được xem xét trong tiến trình lập kế hoạch kiểm thử và thiết kế các ca kiểm thử.

Kiểm thử thực thi giao diện người dùng và sự hạn chế về khả năng sử dụng

Một số yếu tố ảnh hướng đến khả năng sử dụng gồm yếu tố người dùng mà bạn hướng đến và các hạn chế của thiết bị, như kích thước màn hình, băng thông, công nghệ, thiết bị và Website. Tuy nhiên, đối với kiểm thử thực thi giao diện người dùng và khả năng sử dụng, bạn nên đặt ra các câu hỏi sau:

-

Các phương pháp nhập liệu trên các nền tảng được hỗ trợ ảnh hướng đến khả năng sử dụng như thế nào?

-

Website cần được kiểm thử xuất hiện như thế nào trong trình duyệt với các thiết lập mặc định của các tính chất, như kích thước trang, hình ảnh, kích thước cỡ chữ v.v…?

-

Độ trễ mạng ảnh hướng như thế nào đến chức năng của ứng dụng Web cần được kiểm thử? Ví dụ, trong khi thực hiện một giao tác với một ứng dụng về ngân hàng qua một kết nối chậm, server sẽ tạm ngưng hoạt động (time-out) trong quá trình thực hiện giao tác? Khi nào sự kiện đó xuất hiện, điều gì sẽ xảy ra với giao tác?

-

Có hữu ích không khi tận dụng các công cụ để kiểm thử cú pháp WMLScript và WML không hợp lệ, các liên kết thiết sót, các nội dung không được hỗ trợ v.v…?

-

Các bao bọc văn bản (text-wrapping) có hoạt động đúng đắn không?

-

Giao diện duyệt có thể thực hiện trực quan không?

-

Các giao diện nhập liệu có nhất quán và thân thiện không?

-

Có nhất quán trong việc cài đặt trình đơn, nút và xử lý lỗi?

-

Các hình ảnh có được hiển thị vừa vặn và đúng vị trí?

Các tham khảo hướng dẫn về giao diện người dùng

Nên có các hướng dẫn trong quá trình thiết kế và cài đặt giao diện người dùng. Các lập trình viên có thể sử dụng chúng để thiết lập các nguyên tắc thiết kế ứng dụng. Điều này không có nghĩa là các hướng dẫn đó phải được tuân thủ chặt chẽ; mà chỉ đơn thuần là sử dụng các thông tin này như là một nguồn tham khảo để ngăn cản các lập trình viên mất thời gian “phát minh lại những gì đã có” trong khi thiết kế và cài đặt giao diện người dùng.

Kiểm thử trình duyệt

Tất cả các vấn đề về kiểm thử ứng dụng Web trên máy tính cá nhân có thể áp dụng cho kiểm thử ứng dụng Web trên thiết bị di động. Một số các vấn đề về trình duyệt đáng được nhắc lại ở đây, dựa vào đó bạn nên phát triển các ca kiểm thử để xác định các vấn đề:

-

Hiệu ứng do ứng dụng cần được kiểm thử,

do thiếu hỗ trợ hoặc hỗ trợ không tương thích về cookie, script, plug-in (như Macromedia Flash), Java applet, ActiveX, CSS (Cascading Style Sheet) và kết nối sử dụng SSL (Secure Sockets Layer).

-

Không tương thích hoặc thiết hỗ trợ cho một hoặc nhiều ngôn ngữ đánh dấu,

như HDML, WML, cHTML, xHTML, HTML hay XML.

-

Hỗ trợ các ứng dụng PQA hay Web Clipping,

so với các ứng dụng hỗ trợ kênh.

-

Các vấn đề hỗ trợ sự kế thừa (legacy).

Ví dụ, một phiên bản trước của ứng dụng hỗ trợ HDML. Hiện tại, nó hỗ trợ WML nhưng nó cũng phải cho phép người dùng dùng các trình duyệt hiểu DHTML như thể hai chế độ hỗ trợ phải được cài đặt.

-

Vấn đề về bộ nhớ cache.

Bộ nhớ cache lưu trữ tạm thời nội dung Web trên phía trình duyệt, phía server hoặc cả hai. Ví dụ, khi chế độ sử dụng cache được bật bên phía client (thông thường bạn có thể thay đổi kích thước bộ nhớ cache), khi bạn duyệt một trang Web, trang đó sẽ được lưu trữ trên đĩa, trong một tệp cache. Sau đó, khi bạn duyệt lại trang Web đó, trình duyệt sẽ tìm kiếm trong bộ nhớ cache. Nếu nó tìm thấy, nó sẽ hiển thị trang từ bộ nhớ cache thay vì từ Web server gốc, nhằm tiết kiệm thời gian và giảm lưu thông trên mạng. Đôi khi, điều đó ảnh hướng đến kiểm thức hay chức năng của ứng dụng Web; trình duyệt sẽ không có mã nguồn hay nội dung mới nhất từ server gốc kịp thời, dẫn đến kết quả không mong muốn.

Kiểm thử trên nền tảng riêng biệt (Plattform-specified test)

Khi công ty của bạn phát triển một ứng dụng cho một nền tảng cụ thể, như Windows, UNIX, MacOS, Palm Computing hay Windows PocketPC, bạn cần thực thi các kiểm thử tìm kiếm lỗi liên quan đến nền tảng cụ thể thay vì tìm kiếm lỗi các chức năng. Ví dụ, trên Windows, việc xóa một thư viện liên kết động (dll) hay khóa đăng ký (registry) không đúng đắng có thể gây nên lỗi liên quan đến nền tảng. Khi ứng dụng của bạn hoạt động như mọng đợi trên một nền tảng, nó được xem là tương thích với nền tảng đó.

Mặc dù phạm vi và chi tiết của kiểm thử nền tảng sẽ được mô tả bởi yêu cầu kiểm thử hay mục tiêu kiểm thử, loại kiểm thử này thường được chuẩn hóa và nhiều chuẩn của nhà sản xuất cho các ứng dụng trên thiết bị di động được cung cấp. Các mẫu của các chuẩn này được mô tả trong các mục con tiếp theo.

Kiểm thử sự hợp chuẩn với nền tảng hay biểu tượng (plattform or logo compliance test)

Khi một nhà sản xuất phần cứng cấp phép cho hệ điều hành hay phần mềm được nhúng trong một thiết bị di động, những nhà cấp phép thường yêu cầu nhà sản xuất hay người được cấp phép thực hiện kiểm thử chấp thuận nền tảng nhằm đảm bảo rằng sự cài đặt phần mềm trên thiết bị theo đúng chuẩn của những nhà cấp phép, nghĩa là nó sẽ tương thích với các thành phần khác của hệ điều hành và các ứng dụng phần mềm khác. Cùng một tiến trình đó cũng có thể được áp dụng cho nhà sản xuất phần mềm mà cung cấp ứng dụng cho một thiết bị hay nền tảng. Hầu hết các nhà sản xuất hệ điều hành và nền tảng có kế hoạch kiểm thử công khai và thường đặt trên Website của họ để có thể tải xuống dễ dàng. Kế hoạch kiểm thử chuẩn Microsoft Logo Certification cho các nền tảng Windows khác nhau là một ví dụ về kiểm thử sự chấp nhận nền tảng.

Trong một số trường hợp, công ty của bạn có thể có cam kết thực hiện các kiểm thử xác nhận này; nhưng phần lớn thì không, thực hiện các kiểm thử này là tùy chọn. Trong thực tế, ứng dụng Web cần được kiểm thử chỉ sử dụng các phương tiện cung cấp bởi thiết bị client, trong trường hợp này là trình duyệt. Cho dù thế nào đi nữa, nghiên cứu các kiểm thử chuẩn này có thể mang lại cho bạn ý tưởng phát triển các ca kiểm thử, thực thi các vùng của ứng dụng mà có thể có các lỗi liên quan đến nền tảng.

Kiểm thử khả năng tương thích cấu hình

Sử dụng một trình mô phỏng (xem thêm mục “Các trình mô phỏng trình duyệt và thiết bị”), bạn có thể thực hiện kiểm thử chức năng cơ bản. Các kiểm thử khác cần phải được thực hiện trên thiết bị vật lý. Điều đó có nghĩa là trên phía client bạn sẽ giải quyết với:

-

Các thiết bị chéo (cross device).

-

Các hệ điều hành chéo bao gồm các chuẩn về OEM.

-

Các trình duyệt chéo.

-

Các phiên bản chéo.

-

Các ngôn ngữ chéo (nếu có).

-

Các định dạng đồ họa.

-

Các định dạng âm thanh.

Để làm quen với các vấn đề về khả năng tương thích, xem tại www.nttdocomo

.co/jp/englishy/i/tag/imodetag.html, bạn có thể tìm thấy ở đó một tài liệu có tên “Online of i-Mode compatible HTML”. Tài liệu này mô tả các vấn đề về khả năng tương thích trong HTML: các vấn đề về nội dung và thiết bị, như các ký tự đặc biệt, số lượng ký tự mỗi trang, khả năng tương thích tệp hình ảnh, kích thước màn hình, độ phân giải màu, kích thước bộ nhớ cache v.v…

Kiểm thử kết nối

Kiểm thử kết nối tìm kiếm các lỗi liên quan đến các thiết bị và mạng được kết nối với nhau, những trở ngại trong quá trình truyền dữ liệu có thể ảnh hưởng như thế nào đến chức năng cũng như sự toàn vẹn dữ liệu. Các mục con tiếp theo mô tả các vấn đề cần xem xét.

Thiết bị với các hỗ trợ kết nối mạng

Đối với các thiết bị có các kết nối 802.11b, bluetooth và IR, cần xem xét:

Thiết bị giải quyết việc khởi tạo kết nối như thế nào?

-

Tần suất kết nối tạm ngưng (time-out)?

-

Thời gian tạm ngưng có thể được cấu hình? Các thiết lập kết nối (ví dụ, ngắt kết nối mỗi 5 phút) ảnh hưởng như thế nào đến hành vi của ứng dụng Web trên thiết bị di động cần được kiểm thử?

-

Các điều kiện về thời gian tạm ngưng ảnh hưởng như thế nào đến chức năng của ứng dụng hay dữ liệu đang được truyền đi?

Độ trễ (latency)

Các thông điệp được truyền qua mạng cần thời gian để đến đích. Phụ thuộc vào kích thước của thông điệp, tốc độ truyền dữ liệu, độ tin cậy và khả năng phủ sóng của mạng không dây, sẽ có chậm trễ trong quá trình truyền dữ liệu. Vấn đề đặt ra là ứng dụng ghi nhận và thông báo cho người dùng về sự chậm trễ hay không?

Hơn nữa, có thể thông điệp sẽ được truyền đến đích với sự chậm trễ đáng kể do trở ngại, chẳng hạn tắc nghẽn mạng hay thiết bị ở chế độ ngủ. Như thế, cần kiểm tra xem ứng dụng có ghi nhận trạng thái truyền dẫn, để bảo đảm rằng người dùng biết được khi nào thông tin cũ, do chậm trễ và khi nào do thông tin mới.

Lỗi truyền dẫn

Như đã chỉ ra trước đó, dữ liệu truyền qua mạng không dây có thể có nhiều trở ngại. Như thế, nội dung được truyền bởi thiết bị client và server có thể bị biến đổi do độ trễ hay trở ngại. Các giao thức mạng không dây thường cho phép phát hiện và sửa chữa nhiều lỗi; tuy nhiên, ở mức ứng dụng, lập trình viên cần phải tính đến xử lý lỗi nhằm giải quyết các loại lỗi truyền dẫn khác nhau.

Ví dụ, các nhà cung cấp mạng khác nhau xử lý các lỗi truyền dẫn một cách khác nhau. Một số nhà cung cấp gửi liên tục vào các thời điểm khác nhau cho đến khi thông điệp đến được ứng dụng client. Một số nhà cung cấp khác sẽ báo động cho người dùng về sự thất bại và để cho người dùng quyết định có gửi lại thông điệp hay không. Một số nhà cung cấp khác nữa có thể dừng việc gửi thông điệp mà không có bất cứ thông báo nào cho người dùng. Những sự khác nhau này có thể ảnh hướng đến dữ liệu được truyền bởi ứng dụng Web trên thiết bị di động cần được kiểm thử.

Sự di chuyển từ vùng được phủ sóng sang vùng không được phủ sóng

Trong khi đang được kết nối server, thiết bị có thể được mang từ vùng phủ sóng tốt sang vùng không được phủ sóng. Ứng dụng Web trên thiết bị di động nên xử lý tình huống này tượng tự như các tình huống nên gây lỗi truyền dẫn, đã được thảo luận ở trên.

Ví dụ, giả sử trên phía server, ứng dụng kiểm tra trạng thái kết nối 30s/lần, 10s kể từ lần kiểm tra gần nhất, thiết bị được mang từ vùng phủ sóng tốt sang vùng không được phủ sóng, 15s sau đó thiết bị được mang trở lại vùng phủ sóng tốt. Ở bước kiểm tra tiếp theo, ứng dụng xác định rằng kết nối

vẫn tốt, mà không biết rằng trong vòng 15s vừa qua kết nối vừa mất. Điều này có thể đặt ứng dụng vào một trạng thái không xác định mà có thể gây nên các lỗi về chức năng hay lỗi về toàn vẹn dữ liệu.

Sự chuyển đổi giữa dữ liệu và tín hiệu thoại

Thiết bị được xử lý như thế nào trong khi đang có cuộc gọi điện thoại, và ngược lại? Đối với nhiều mạng và điện thoại di động, bạn không thể cùng lúc gọi điện thoại và truy cập Web qua TCP/IP. Sự gián đoạn truyền dữ liệu do có cuộc điện thoại đến cũng có thể gây nên những lỗi mà ứng dụng Web trên thiết bị di động cần được kiểm thử không biết cách xử lý.

Thứ tự gởi dữ liệu hay thông điệp

Các nhà cung cấp mạng khác nhau có các phương pháp khác nhau để gửi dãy các thông điệp giữa server và client. Không nên tin tưởng rằng nhà cung cấp gửi các thông điệp trong cùng thứ tự mà chúng được gửi từ ứng dụng Web trên thiết bị di động. Hãy kiểm tra để đảm bảo rằng ứng dụng cần được kiểm thử có các cài đặt riêng của nó nhằm bảo vệ sự toàn vẹn dữ liệu.

Kiểm thử hiệu năng

Nhiều vấn đề về kiểm thử hiệu năng đã được thảo luận trong chương 19, “kiểm thử hiệu năng”, có thể áp dụng để kiểm thử các ứng dụng Web trên thiết bị di động.

Khi kiểm thử gateway (như WAP gateway, cho phép chuyển đổi các giao thức HTTP thành WSP (Wireless Session Protocol in WAP), hoặc SSL và WTLS (Wireless Transport Layer Security) và ngược lại), bảo đảm rằng công cụ kiểm thử hỗ trợ các giao thức đó.

Hình 20.4 trình bày một ví dụ yêu cầu và trả lời Web qua WAP gateway. Hình này cũng minh họa thêm các hoạt động xuất hiện ở WAP gateway:

Hình 20.4 Mô hình yêu cầu/trả lời Web trong WAP.

1. Khi người dùng di động thực hiện một yêu cầu, yêu cầu WAP được gửi đến WAP gateway.

2. WAP gateway chuyển yêu cầu WSP thành một yêu cầu HTTP.

3. Từ đó, yêu cầu HTTP (hoặc HTTPS, nếu SSL được sử dụng) được gửi đến Web server, như trong kiến trúc Web chuẩn.

4. Khi Web server trả lời với nội dung Web, như HTML, WML hay WMLScript, WAP gateway thực hiện chuyển đổi tiêu đề HTTP thành WSP, chuyển đổi HTTP thành WSP, chuyển đổi định dạng hình ảnh (GIF thành WBMP chẳng hạn), mã hóa WML, biên dịch WMLScript, v.v…

5. Sau đó, WAP gateway gửi trả lời WSP với nội dung được mã hóa đến client di động.

Các vấn đề khác cần xem xét gồm khả năng của công cụ mô phỏng băng thông bị hạn chế trong môi trường 2G/3G và các tính năng xử lý Script, cookie…

Kiểm thử bảo mật

Chương 18, “Kiểm thử bảo mật Web” trình bày nhiều vấn đề về lỗ hổng trong ứng dụng Web. Các vấn đề này cũng tồn tại trên các ứng dụng Web trên thiết bị di động. Hơn nữa, các vấn đề bảo mật trong môi trường di động còn liên quan đến thiết bị di động client và mạng không dây.

Các thiết bị di động như PDA vốn được thiết kế để quản lý thông tin cá nhân. Trước đây, chúng không phải là các thiết bị giao tiếp sử dụng mạng để kết nối các server. Vì vậy, ban đầu, vấn đề bảo mật không được quan tâm thích đáng trên các thiết bị này.

Chúng ta cũng biết rằng các thiết bị di động vốn có khả năng xử lý hạn chế trước những yêu cầu cao về mã hóa và bảo vệ mật khẩu. Mạng cục bộ không dây, như chuẩn 802.11b, vẫn đang còn trong thời kỳ hình thành, vì vậy dữ liệu được truyền

mà không được mã hóa. Hiển nhiên, các vấn đề này đang được

nghiên cứu khi cuốn sách này chuẩn bị xuất bản.

Hiện chúng ta tiếp tục đẩy mạnh việc phát triển các thiết bị di động và mạng không dây. Điều này đặt ra vấn đề: liệu khả năng bảo mật có theo kịp sự phát triển của các chức năng? Vấn đề này cần được xem xét.

Trong lúc đó phải bảo đảm rằng chúng ta hiểu các vấn đề liên quan đến bảo mật và xem xét chúng một cách thích hợp và kịp thời sao cho các quyết định có thể được đưa ra dựa vào kết quả phân tích lỗi với dữ liệu được cung cấp.

Ví dụ, chúng ta nên đảm bảo rằng trình duyệt Web di động và gateway thực hiện xác thực SSL, và kiểm tra đúng trước khi kết nối Web server an toàn. Vấn đề này đang tồn tại trong các hệ thống WAP.

Kiểm thử ứng dụng Web sử dụng môi trường mô phỏng

Khi ứng dụng Web trên thiết bị di động của bạn đã sẵn sàng, cách tốt để bắt đầu kiểm thử ứng dụng là sử dụng trình mô phỏng thiết bị di động. Rất may mắn, với các trình mô phỏng, nhiều loại kiểm thử cơ bản, bao gồm cả kiểm thử chấp nhận và kiểm thử chức năng, có thể được thực hiện mà không cần thiết bị vật lý. Một thuận lợi nữa là sẽ không phải chi phí thời gian kết nối khi đang kiểm thử. Xem mục “Khảo sát về các công cụ hỗ trợ kiểm thử trên thiết bị di động” trong chương này về thông tin một số loại trình mô phỏng di động hiện nay.

Kiểm thử ứng dụng Web sử dụng môi trường vật lý

Bởi vì các trình mô phỏng không thể phát hiện được nhiều lớp lỗi, vì vậy cần phải kiểm thử sử dụng chính các thiết bị di động để bảo đảm rằng ứng dụng Web di động cần kiểm thử hoạt động đúng đắn. Các bộ mô phỏngBởi vì các trình mô phỏng không thể phát hiện được nhiều lớp lỗi, vì vậy cần phải kiểm thử sử dụng chính các thiết bị di động để bảo đảm rằng ứng dụng Web di động cần kiểm thử hoạt động đúng đắn. Các bộ mô phỏng không thể mô phỏng: tốc độ mạng thực tế, tốc độ hiển thị nội dung (content-rendering speed) trên thiết bị thực tế, giới hạn bộ nhớ, kích thước bộ nhớ cache, tốc độ CPU và kích thước ngăn xếp.

Đặc biệt, đối với các thiết bị điện thoại WAP, chỉ có cách kiểm thử với thiết bị thực và mạng mà thiết bị sử dụng để kết nối trực tiếp các Web server và các WAP server hoặc qua một WAP gateway thì bạn mới có thể kiểm tra ứng dụng sẽ hoạt động đúng đắn trong môi trường vận hành. Đây được gọi là Kiểm thử tích hợp. Một ưu điểm khác của kiểm thử với thiết bị là cho phép bạn kiểm thử các vấn đề về khả năng sử dụng, như nhập dữ liệu hay duyệt giao diện sử dụng bàn phím của thiết bị.

Các thiết bị điện thoại còn có các vấn đề khác nữa, ngoài các vấn đề của một PDA hay smartphone. Không giống như PDA hay smartphone, màn hình thiết bị di động nhỏ hơn nhiều, như thế có những hạn chế đối với kích thước hiển thị. Vì vậy, cùng một nội dung Web có thể hiển thị đúng đắn trên điện thoại này, nhưng không đúng đắn trên điện thoại khác. Ngoài ra, độ trễ mạng làm cho thời gian trả lời lâu hơn; bàn phím trên điện thoại rất khó để sử dụng nhập dữ liệu và duyệt Web. Vì vậy, điện thoại cho phép T9 (công nghệ nhập văn bản chỉ sử dụng 9 phím) cần cải tiến việc nhập văn bản qua bàn phím của thiết bị di động. (Xem thông tin về nhập văn bản sử dụng 9 phím – T9 tại: www.t9.com)

Các vấn đề khác về kiểm thử cần xem xét đối với trình duyệt nhỏ dựa trên WAP trong điện thoại bao gồm:

-

Khả năng tương thích qua máy thu phát cầm tay (handset) hay thiết bị, trình duyệt, WAP gateway, WAP server, các phiên bản HDML, WML và WMLScript. Bảng 20.2 liệt kê một ví dụ sự khác nhau về hỗ trợ giữa HDML và WML mà có thể dẫn đến sự không tương thích.

-

Không tương thích script với các thiết bị khác, do các client WAP là phụ thuộc vào phần cứng.

-

Khả năng sử dụng các trang WML được hiển thị trong một màn hình nhỏ.

-

Khả năng không tương thích với các đặc tả WAP khác nhau (các đặc tả WAP có thể được tìm thấy tại WAP forum: www.wapforum.org/what/technical.htm.)

-

Các định dạng hình ảnh không được hỗ trợ. Ví dụ, thiết bị có thể hỗ trợ định dạng WBMP (Wireless Bitmap) nhưng không hỗ trợ các định dạng khác.

-

Độ phân giả màn hình của thiết bị, kích thước hình ảnh lớn nhất, các mã và sự mở rộng không được hỗ trợ trên một số điện thoại.

Tính chất/Hỗ trợ

HDML

WML

XML

Không

DTD (Document Type Definition)

Không

Script

Không

WMLScript

Timers

Không

Danh sách đa lựa chọn

Không

Bookmarks

Không

Hoạt động lồng nhau

Không

Hình ảnh trong các nhãn/các lựa chọn

Không

Key accelerators for links

Không

Bảng 20.2 Ví dụ về sự khác nhau giữa HDML và WML

·

Lưu ý: Các ví dụ về sự khác nhau của các điện thoại WAP có thể tìm thấy tại:

www.cellular.co.za/wap_browser_spec.htm.

Chỉ khi kiểm thử dựa trên các trình mô phỏng có các hạn chế mới cần kiểm thử với các thiết bị vật lý. Bởi vì, kiểm thử với các thiết bị vật lý có thể chi phí cao, đặc biệt đối với kiểm thử khả năng tương thích, bạn cần kiểm thử với nhiều mô hình khác nhau của thiết bị mà ứng dụng Web trên thiết bị di động của bạn hỗ trợ.

Khảo sát về các công cụ hỗ trợ kiểm thử trên thiết bị di động

Chương 21, “Các công cụ kiểm thử Web”, thảo luận về các công cụ kiểm thử, hầu hết trong số đó đều có thể áp dụng để kiểm thử ứng dụng Web trên thiết bị di động. Hơn nữa, do bản chất đặc trưng của ứng dụng Web trên thiết bị di động, là phụ thuộc rất lớn vào phần cứng của client, cần có các trình mô phỏng hỗ trợ kiểm thử ứng dụng trước khi triển khai thực tế trên thiết bị vật lý. Có hai loại trình mô phỏng hữu ích là trình mô phỏng thiết bị trình mô phỏng trình duyệt.

Các trình mô phỏng thiết bị và trình duyệt

Hầu hết các nhà cung cấp hệ điều hành hoặc nền tảng phát triển cung cấp một trình mô phỏng thiết bị. Bởi vì thiết bị là dựa trên hệ điều hành, với cùng một hệ điều hành, bạn có thể mô phỏng các loại thiết bị khác nhau bằng cách thay đổi lớp vỏ (skin). Thuật ngữ lớp vỏ (được sử dụng phổ biến trong lĩnh vực điện thoại di động) được sử dụng để mô tả khả năng thay đổi mặt ngoài của thiết bị trong khi vẫn giữ nguyên mặt trong (hệ điều hành), để mang lại cho bạn một thiết bị khác. Bạn có thể thấy rõ các ưu điểm của các trình mô phỏng trong mục, “Kiểm thử ứng dụng Web sử dụng môi trường mô phỏng”.

Google Android

Android là một hệ điều hành cho thiết bị di động được phát triển từ nhân Linux, lúc đầu được phát triển bởi công ty Android Inc., công ty này sau đó được mua lại bởi Google. Ở thời điểm 2009, Google đang tài trợ cho một cộng đồng mã nguồn mở để tiếp phát những phiên bản tiếp theo, và nó đang gây được sự chú ý với 60.000 thiết bị di động cài đặt Android bán ra mỗi ngày trên toàn thế giới.

Bộ công cụ hỗ trợ lập trình (SDK) của Android có chứa phần mềm mô phỏng (emulator) trên máy tính cá nhân. Phần mềm mô phỏng này cho phép bạn lập trình hoặc kiểm thử những ứng dụng trên nền tảng của Android mà không cần thiết bị.

Thông tin chi tiết về Android và các phần mềm có thể tải từ địa chỉ: http://developer.android.com/sdk/index.html

Palm Computing

Palm Computing cung cấp POSE (Palm OS Emulator) là phần mềm mô phỏng phần cứng cho nhiều mô hình máy cầm tay Palm. Công cụ này rất hữu ích để phát triển, kiểm thử và gỡ rối các ứng dụng trên Palm OS. Bản thân POSE không làm gì cả; để sử dụng nó, bạn cần phải cài đặt một ROM cho thiết bị để mô phỏng một máy cầm tay. Hãy coi POSE như là một thiết bị di động hay một máy tính không có hệ điều hành. ROM mà bạn cài đặt là một hệ điều hành mà thiết bị được mô phỏng sẽ sử dụng. Hơn nữa bạn có thể sử dụng một lớp vỏ bên ngoài (skin) đặc biệt với trình mô phỏng. Cũng như các trình mô phỏng khác, POSE sử dụng các tệp lớp vỏ để biểu diễn hình ảnh của một thiết bị. Ban đầu, lớp vỏ chỉ đơn giản là một hình ảnh. Nó không thay đổi ROM hay thiết bị được mô phỏng; nó chỉ đơn thuần thay đổi hình dáng cửa sổ của trình mô phỏng. (Lưu ý rằng lớp vỏ mặc định của POSE là PatlmPilot phiên bản 1.0) Nếu bạn cần POSE có hình dáng của thiết bị thực cần được kiểm thử, bạn sẽ cần phải có được lớp vỏ của thiết bị đó. Gần đây, việc lựa chọn lớp vỏ còn quyết định các tính năng của phần cứng được mô phỏng (chứ không chỉ đơn thuần là hình dáng bên ngoài của thiết bị).

Một phần hữu ích khác của POSE được gọi là “Gremlins”, là một công cụ kiểm thử tự động. Nó thực hiện các kiểm tra sự toàn vẹn của ứng dụng và hệ điều hành, như truy cập bộ nhớ, tràn ngăn xếp, v.v… mà không thể thực hiện trên phần cứng thực.

Openwave

Openwave cung cấp UP.SDK, gồm trình mô phỏng điện thoại mà bạn có thể sử dụng để kiểm thử khả năng tương thích của điện thoại với WML và HDML; bạn có thể kiểm thử ứng dụng với giao diện mô phỏng chung, cũng như với một lớp vỏ cụ thể cho một điện thoại cụ thể mà hỗ trợ UP.Browser.

Về thông tin chi tiết hơn và tải UP.SDK, xem tại http://developer.openwave.com/download.

Nokia

Cũng như Openwave, Nokia cung cấp SDK và các trình mô phỏng để hỗ trợ phát triển và kiểm thử ứng dụng, bao gồm các ứng dụng dựa trên trình duyệt Web trên thiết bị di động cho các điện thoại không dây của công ty.

Về thông tin chi tiết hơn và tải trình mô phỏng, xem tại www.forum.nokia.com.

YoSpace

YoSpace cung cấp các trình mô phỏng WAP, cũng như các trình mô phỏng J2EE MIDP (Mobile Information Device Profile), có thể được sử dụng để hỗ trợ kiểm thử các ứng dụng Web trên thiết bị di động. Một trong những chức năng nổi bật của các trình mô phỏng WAP là khả năng mô phỏng đồng thời nhiều thiết bị dựa trên WAP, cho phép cả kiểm thử và so sánh sự hiển thị và định dạng cùng một nội dung trên các trình mô phỏng khác nhau. Smartphone Emulator Developer Edition hỗ trợ một hệ thống script được gọi là SPEScript, cho phép điều khiển trình mô phỏng WAP. Bạn có thể viết các script để mô phỏng các sự kiện của người dùng hay tương tác của người dùng với trình mô phỏng. Điều này rất quan trọng đối với việc tự động hóa kiểm thử các ứng dụng Web trên thiết bị di động qua việc sử dụng trình mô phỏng WAP.

Về thông tin chi tiết và tải trình mô phỏng, xem tại Website của YoSpace: www.yospace.com.

Microsoft

Microsoft cung cấp các phiên bản của trình mô phỏng như là một phần của Pocket PC 2002 SDK. Pocket PC 2002 SDK Device Emulator Images cũng được cung cấp. Những trình mô phỏng này cho phép các kiểm thử cơ bản các ứng dụng được phát triển để phân phối toàn cầu.

Về thông tin chi tiết và tải trình mô phỏng, xem tại Website của Microsoft: www.microsoft.com/mobile/developer/downloads.

Các trình mô phỏng điện thoại di động trên Web và các trình kiểm tra WML

Thông tin về các trình mô phỏng điện thoại di động Web và các trình kiểm tra WML, xem tại:

-

www.gelon.net/. Cung cấp Wapalizer, cho phép bạn kiểm tra cú pháp và các kiểm tra khác về các trang WML. Nó cung cấp nhiều trình mô phỏng điện thoại WAP mà bạn có thể sử dụng để thực hiện các kiểm thử cơ bản nội dung WML.

-

WAPman. Tương tự gelon.net, Wapsilon cung cấp một trình duyệt Web cho nội dung WML.

Các trình duyệt WAP trên máy để bàn

Nhiều trình mô phỏng trình duyệt nhỏ được cung cấp, bao gồm các trình duyệt WAP mà có thể sử dụng để kiểm thử ứng dụng Web trên thiết bị di động về các vấn đề riêng của WAP.

-

WinWAP.

Một trình duyệt WAP chạy trên nhiều phiên bản của các hệ điều hành Microsoft Windows, bao gồm 9x, NT, 2000 và XP. Nó được cung cấp tại www.winwap.org.

-

WAPman.

Một trình duyệt WAP cho nhiều nền tảng khác nhau, bao gồm Palm OS và các phiên bản khác nhau của hệ điều hành Windows. Thông tin chi tiết hơn, xem tại www.edgematrix.com

Các vấn đề cần xem xét khác về kiểm thử

-

Các thiết bị quản lý bộ nhớ cache như thế nào? Người dùng có thể cấu hình? Các tham số có được biết? Các chỉ dẫn cụ thể có thể cần được trình trong kế hoạch kiểm thử cho mỗi thiết bị liên quan đến các vấn đề này.

-

Bạn xác định kết quả mong đợi qua cách

nội dung được hiển thị trên các nền tảng và trình duyệt như thế nào? Có các hướng dẫn nào?

-

Các liên kết bên ngoài: chúng được xử lý như thế nào khi duyệt mà không kết nối mạng?

-

Các liên kết “Email-to” và “Phone-dial”: chúng có được hỗ trợ trên nền tảng kiểm thử? Có xử lý lỗi trên các trình duyệt không được hỗ trợ được kiểm tra?

-

Kiểm thử đầy bộ nhớ hay kiểm thử quá tải: bạn thực thi các ca kiểm thử đầy bộ nhớ hay gần đầy bộ nhớ trên các nền tảng kiểm thử như thế nào?

-

Bạn viết các script kiểm thử như thế nào để có thể áp dụng cho các nền tảng khác nhau?

-

Bạn viết các ca kiểm thử có thể tái sử dụng cho các thiết bị khác nhau như thế nào?

-

Bạn cần cái gì để biết các nền tảng kiểm thử khác nhau đang truy cập nội dung Web (thiết bị Palm truy cập HTML trực tiếp, điện thoại A dùng WAP gateway, điện thoại B sử dụng cHTML proxy…)? Nó ảnh hưởng như thế nào đến kiểm thử?

-

Các giao thức HTTP hoặc WAP cho phép các tệp trong những định dạng khác tải về trên thiết bị client. Điều gì xảy ra khi một thiết bị tải về một định dạng tệp không được hỗ trợ?

-

Nếu Website của bạn hỗ trợ nhiều định dạng, bao gồm WML, iMode và HTML, một trình duyệt sử dụng những luật nào để xác định nội dung gì được tải?

-

Trình duyệt có hiển thị đúng đắn các bảng, khung (frame), danh sách, checkbox, trình đơn kéo xuống, script, v.v…?

-

Một số Website nhận biết phiên bản của trình duyệt để xác định khả năng tương thích. Bạn có kiểm thử sự tương thích?

Tài liệu tham khảo và các nguồn khác

Tài liệu tham khảo

Arehart, Charles, et al. Professional WAP. Birmingham, UK: Wrox Press Inc., 2000.

Collins, Daniel, and Clint Smith. 3G Wireless Networks. New York: McGraw-

Hill Professional, 2001.

Garg, Vijay Kumar. Wireless Network Evolution: 2G to 3G. Upper Saddle River,

NJ: Prentice-Hall PTR, 2001.

Lin, Yi-Bing, and Imrich Chlamtac. Wireless and Mobile Network Architectures.

New York: John Wiley & Sons, Inc., 2000.

Rhodes, Neil, and Julie McKeehan. Palm OS Programming: The Developer’s

Guide

, 2nd ed. Sebastopol, CA: O’Reilly & Associates, 2001.

Các nguồn khác

QACity.Com | Mobile

www.qacity.com/Technology/Mobile

i-Mode Tools

www.devx.com/wireless/articles/I-Mode/I-ModeTools.asp

Mobile Information Device Profile (MIDP)

http://java.sun.com/products/midp/

WAP Tutorials

www.palowireless.com/wap/tutorials.asp

WAP Devices Metrics

www.wapuseek.com/wapdevs.cfm

WAP FAQs

www.wapuseek.com/wapfaq.cfm

550 Chapter 20

WAP Testing Papers

www.nccglobal.com/testing/mi/whitepapers/index.htm

WAP Testing Tools

http://palowireless.com/wap/testtools.asp

Online WAP Testing Tool

www.wapuseek.com/checkwap.cfm

i-Mode FAQ

www.eurotechnology.com/imode/faq.html

i-Mode FAQ for Developers

www.mobilemediajapan.com/imodefaq

i-Mode-Compatible HTML

www.nttdocomo.co.jp/English/i/tag/imodetag.html

Compact HTML for Small Information Appliances

www.w3.org/TR/1998/NOTE-compactHTML-19980209/

Mobile Software Resources (for i-Mode/HTML development)

www.mobilemediajapan.com/resources/software

Mobile Technology Resources

www.mobilemediajapan.com/resources/technology

Mobile Computing Magazine

(news magazine for mobile computing)

www.mobilecomputing.com

Pen Computing Magazine

www.pencomputing.com

mBusiness Magazine

(wireless technology magazine and books)

www.mbusinessdaily.com

Internet.Com Wireless Page

www.internet.com/sections/wireless.html

Testing Mobile Web Applications 551

GSM, TDMA, CDMA, and GPRS.

www.wirelessdevnet.com/newswire-less/feb012002.html

Developer Resources Page on pencomputing.com

www.pencomputing.com/developer/

mpulse-nooper.com (an article: “Application Testing in the Mobile Space”)

http://cooltown.hp.com/mpulse/0701-developer.asp

Nokia Forum

www.forum.nokia.com

YoSpaces’s Emulator

www.yospace.com

WinWAP (mobile Internet browser for Windows)

www.winwap.org/index.html

Web-based WAP Emulator: TTemulator

www.winwap.org

HDML or WML

www.allnetdevices.com/developer/tutorials/2000/06/09/

hdml_or.html

CHƯƠNG 21.

CÁC CÔNG CỤ KIỂM THỬ WEB

Tại sao đọc chương này?

Các ứng dụng Web hoạt động trong môi trường động. Đôi khi, các công cụ kiểm thử là cần thiết hỗ trợ cho kiểm thử thủ công. Một số loại kiểm thử (chẳng hạn, kiểm thử tải và kiểm thử hiệu năng) có thể không thể thực hiện nếu không có sự hỗ trợ của công cụ để mô phỏng các hoạt động của hàng nghìn người dùng. Giá trị của các công cụ khác nhau thay đổi theo các yêu cầu kiểm thử cụ thể, ngân sách và các ràng buộc của nhân viên liên quan đến hệ thống cần được kiểm thử.

Giới thiệu

Chương này mô tả các loại kiểm thử Web khác nhau, cách sử dụng các công cụ và các công cụ có thể có được. Nhiều nhà cung cấp phần mềm được liệt kê trong chương này cung cấp các phiên bản dùng thử sản phẩm của họ. Tính toán về lợi ích của sự đầu tư (cả ngắn hạn và dài hạn) có thể hỗ trợ bạn quyết định công cụ nào có ý nghĩa đối với một dự án cụ thể.

Các loại công cụ

Dưới đây là danh sách các loại công cụ kiểm thử Web khác nhau và mô tả về chúng.

Các trình phân tích

Loại:

Trình phân tích tĩnh (static analyzer). Lưu ý: Khái niệm trình phân tích nghĩa là mã nguồn không cần được biên dịch và thực thi.

Đầu vào:

Mã nguồn

Đầu ra:

Báo cáo phân tích và lỗi.

Người dùng chủ yếu:

Lập trình viên.

Người dùng thứ yếu:

Kiểm thử viên.

Nguyên lý công nghệ.

Loại công cụ này được mã nguồn vào và so sánh mã nguồn được viết với các chuẩn lập trình hoặc các luật cụ thể cho mỗi ngôn ngữ nhằm phát hiện những sự mâu thuẫn và những lỗi tiềm tàng. Về một mặt nào đó, các công cụ này tương tự như các bộ kiểm tra ngữ pháp và chính tả trong các trình soạn thảo văn bản.

Trong một số trường hợp, công cụ gồm mộc tác tử (agent) hay một robot mô phỏng các hoạt động của con người, truy cập các lệnh như các siêu liên kết trong các trang HTML. Về mặt nội dung của phát triển Web, 2 trình phân tích phổ biến là các trình hợp thức hóa HTML (HTML validator) và các trình kiểm tra liên kết (link checker). Thông thường, chúng được tích hợp vào các sản phẩm đóng gói.

Danh sách các trình hợp thức hóa HTML và các trình kiểm tra liên kết

Các công cụ này kiểm tra các liên kết và thẻ HTML không đúng đắn, khả năng tương thích của trình duyệt (đối với một số sự mở rộng), các liên kết không hoạt động, thời gian tải, thiết kế trang, lỗi chính tả, v.v…

WATCHFIRE LINKBOT PRO

Mô tả:

Trình hợp thức hoá HTML và các trình kiểm tra liên kết được tích hợp vào một giải pháp cho doanh nghiệp cho phép quản lý các Website doanh nghiệp động và phức tạp.

Nguồn:

Watchfire

Nền tảng:

Windows

Bản dùng thử:

Địa chỉ:

www.watchfire.com

PARASOFT WEB KING

Mô tả:

Trình hợp thức hoá HTML và các trình kiểm tra liên kết trong một công cụ quản lý phát triển và kiểm thử hoàn chỉnh.

Nguồn:

Parasoft

Nền tảng:

Windows, Linux và Sun Solaris

Bản dùng thử:

Không, nhưng có bản minh họa miễn phí sử dụng Web King.

Địa chỉ:

www.parasoft.com

MACROMEDIA HOMESITE

Mô tả:

Một trình soạn thảo mã nguồn phát triển Web trong có trình hợp thức hóa HTML và các trình kiểm tra liên kết.

Nguồn:

Homesite 5

Nền tảng:

Windows

Bản dùng thử:

Địa chỉ:

www.macromedia.com/software/homesite/

XENU’S LINK SLEUTH

Mô tả:

Đây là một trình kiểm tra liên kết miễn phí.

Nguồn:

Không áp dụng

Nền tảng:

Windows

Bản dùng thử:

Không áp dụng

Địa chỉ:

home.snafu.de/tilman/xenulink.html

DR. WATSON

Mô tả:

Dr. Watson là một dịch vụ miễn phí mà bạn có thể sử dụng để phân tích trang Web của bạn trên Internet. Bạn cung cấp URL của trang Web của bạn và Dr. Watson sẽ chép một bản từ trình chủ Web của bạn. Dr. Watson có thể kiểm tra nhiều vấn đề của Website, bao gồm sự hợp lệ của các liên kết, tốc độ tải xuống, khả năng tương thích của máy tìm kiếm và khả năng phổ biến của liên kết. (Lưu ý: Dịch vụ này không liên quan đến Dr. Watson đi kèm với các sản phẩm của Microsoft Windows.)

Nguồn:

Addy & Associates

Nền tảng:

Không áp dụng

Bản dùng thử:

Không áp dụng

Địa chỉ:

watson.addy.com

Danh sách các trình phân tích cho các ngôn ngữ C/C++, Java, Visual Basic và các ngôn ngữ lập trình và ngôn ngữ script khác

Các công cụ này thường kiểm tra các lỗi cú pháp, lỗi điều khiển và lỗi lập trình đối với mỗi ngôn ngữ ở mỗi mức mã nguồn. Mức kiểm thử thường được xem là kiểm thử đơn vị kiểm thử thành phần trình chủ. Lập trình viên thực hiện kiểm thử này.

REASONING ILLUMA

Mô tả:

Dịch vụ thanh tra mã nguồn nhằm có độ tin cậy cao cho mã nguồn C và C++.

Nguồn:

Reasoning.

Nền tảng:

Không áp dụng

Bản dùng thử:

Không áp dụng

Địa chỉ:

www.reasoning.com

TEST CENTER

Mô tả:

Phân tích mã nguồn C và C++.

Nguồn:

Center Line.

Nền tảng:

Máy trạm Sun-4/SPARC, UltraSPARC HP 700 Series, HP 800 (PA 1.1), máy trạm IBM RS600.

Bản dùng thử:

Không

Địa chỉ:

www.centerline.com/productline.html

PARASOFT CODEWIZARD

Mô tả:

Phân tích mã nguồn C và C++.

Nguồn:

Parasoft

Nền tảng:

Unix và Windows.

Bản dùng thử:

Địa chỉ:

www.parasoft.com

PARASOFT JTEST

Mô tả:

Trình phân tích mã nguồn với các tính năng tự động thiết kế các ca kiểm thử và thực thi kiểm thử cho Java.

Nguồn:

Parasoft

Nền tảng:

Windows.

Bản dùng thử:

Địa chỉ:

www.parasoft.com

Các công cụ kiểm thử tải hiệu năng

Loại:

Trình mô phỏng tải Web và phân tích hiệu năng.

Đầu vào:

Các yêu cầu người dùng được mô phỏng.

Đầu ra:

Các báo cáo hiệu năng và báo cáo phân tích.

Người dùng chủ yếu:

Kiểm thử viên.

Người dùng thứ yếu:

Lập trình viên.

Nguyên lý công nghệ:

Loại công cụ này cho phép bạn mô phỏng hàng nghìn người dùng truy cập Website/ứng dụng, yêu cầu dữ liệu thực hiện các giao tác, ngoài các hoạt động thương mại điện tử khác. Sức tải ảo cũng có thể mô phỏng các phiên bản khác nhau của trình duyệt Web và băng thông mạng. Trong khi sức tải mô phỏng được áp dụng cho trình chủ, dữ liệu về hiệu năng được thu nhập trong nhiều định dạng báo cáo cho các phân tích về sau.

Các công cụ kiểm thử hiệu năng và kiểm thử tải Web

Các công cụ này tạo ra các script kiểm thử bằng cách ghi nhận các hoạt động của người dùng và kết hợp chúng với ngôn ngữ script. Chúng có thể tạo ra nhiều tuyến (thread), mỗi tuyến thực thi một script kiểm thử hoặc một kịch bản mô phỏng các yêu cầu thực được gửi đến các trình chủ. Các độ đo về hiệu năng như thời gian trả lời và thông lượng dữ liệu có thể được ghi nhận và báo cáo trong định dạng bằng văn bản cũng như định dạng đồ họa để phân tích hiệu năng.

EMPIRIX ELOAT

Mô tả:

Kiểm thử tải, hiệu năng và khả năng tăng trưởng.

Nguồn:

Empirix.

Nền tảng:

Windows.

Bản dùng thử:

Địa chỉ:

www.rswsoftware.com

COMPUWARE QACENTER PERFORMANCE EDITION

Mô tả:

Kiểm thử tải, hiệu năng và khả năng tăng trưởng.

Nguồn:

Compuware.

Nền tảng:

PC/Windows, IBM mainframe/OS/390/MVS/VM.

Bản dùng thử:

Địa chỉ:

www.compuware.com/products/qacenter/performance

XML LOAD TESTING

Mô tả:

Kiểm thử tải ANTS.

Nguồn:

Red-gate.

Nền tảng:

Windows.

Bản dùng thử:

Địa chỉ:

www.red-gate.com/advanced_dotnet_testing_system.htm

MERCURY INTERACTIVE APPLICATION PERFORMANCE MANAGEMENT

Mô tả:

Kiểm thử tải, hiệu năng và khả năng tăng trưởng.

Nguồn:

Mercury Interactive.

Nền tảng:

Windows.

Bản dùng thử:

Địa chỉ:

www.

mercuryinteractive.

com

SEGUE SILKPERFORMERS

Mô tả:

Kiểm thử tải, hiệu năng và khả năng tăng trưởng.

Nguồn:

Segue

Nền tảng:

Windows

Bản dùng thử:

Địa chỉ:

www.segue.com

LOADTESTING.COM PORTENT

Mô tả:

Kiểm thử tải, hiệu năng và khả năng tăng trưởng.

Nguồn:

Loadtesting.com

Nền tảng:

Java (được kiểm thử bởi Windows 9x, NT, 2000, Linux và Solaris x86)

Bản dùng thử:

Địa chỉ:

www.loadtesting.com

WEBPARTNER STRESS TESTING

Mô tả:

Kiểm thử tải, hiệu năng và khả năng tăng trưởng.

Nguồn:

WebPartner

Nền tảng:

trên Web

Bản dùng thử:

Địa chỉ:

www.webpartner.com/st_main.html

Các công cụ ghi nhận tương tác giao diện đồ họa người dùng và tái thực hiện các tương tác.

Mô tả:

Các hoạt động của người dùng được ghi nhận và tái thực hiện, cho phép kiểm thử hồi quy và kiểm thử chức năng.

Đầu vào:

Các sự kiện hoặc thông điệp được ghi nhận được áp dụng trên các điều khiển của giao diện người dùng.

Đầu ra:

Các báo cáo lỗi chỉ ra sự khác biệt phát hiện trong quá trình tái thực hiện các tương tác.

Người dùng chủ yếu:

Kiểm thử viên.

Người dùng thứ yếu:

Lập trình viên.

Nguyên lý công nghệ:

Loại công cụ này cho phép bạn thực thi lặp lại một cách nhất quán các ca kiểm thử với rất ít tương tác của con người. Các công cụ này có khả năng ghi nhận các điều khiển giao diện người dùng như các nút, bảng, liên kết, Java applet… trong các trang Web. Trong giai đoạn ghi nhận, các công cụ này ghi lại tất cả các sự kiện vào (thường là từ bàn phím và chuột) khi chúng được áp dụng cho các đối tượng điều khiển giao diện đồ họa người dùng. Các sự kiện biểu diễn các hoạt động của người dùng và được chuyển thành các script, mà sau đó sẽ được sử dụng để tạo lại các hoạt động đã được ghi nhận. Tiến trình ghi nhận sự kiện cũng có thể thực hiện qua script. Trong quá trình tái thực hiện các hoạt động, thông tin về trạng thái của chương trình cũng như kết quả đầu ra được so sánh với kết quả gốc. Nếu có sự khác biệt, công cụ sẽ chỉ ra. Lưu ý rằng để sử dụng hết khả năng của loại công cụ này, cần phải có thời gian đáng kể để đào tạo và lập kế hoạch. Nếu không, lợi ích thu được so với sự đầu tư sẽ có thể làm thất vọng.

Danh sách các công cụ kiểm thử hồi quy và kiểm thử các chức năng giao diện đồ họa người dùng tự động

Các công cụ này tạo ra các script kiểm thử bằng cách ghi nhận các hoạt động của người dùng và kết hợp chúng với các ngôn ngữ script. Các sự kiện được ghi nhận sau đó có thể được tái thực hiện nhiều lần. Loại công cụ này cũng thường được sử dụng cho kiểm thử chấp nhận và kiểm thử hồi quy chức năng, bởi vì các ca kiểm thử được định nghĩa rất tốt.

MERCURY INTERACTIVE WINRUNER

Mô tả:

Công cụ kiểm thử hồi quy và kiểm thử chức năng giao diện đồ họa người dùng tự động.

Nguồn:

Mercuty Interactive

Nền tảng:

Windows

Bản dùng thử:

Địa chỉ:

www.mercuryinteractive.com

SEGUE SILKTEST

Mô tả:

Công cụ kiểm thử hồi quy và kiểm thử chức năng giao diện đồ họa người dùng tự động.

Nguồn:

Segue

Nền tảng:

Windows

Bản dùng thử:

Địa chỉ:

www.segue.com

RATIONAL (IBM) VISUALTEST

Mô tả:

Công cụ kiểm thử hồi quy và kiểm thử chức năng giao diện đồ họa người dùng tự động.

Nguồn:

Rational

Nền tảng:

Windows

Bản dùng thử:

Địa chỉ:

www.rational.com

MANUFACTURER’S CORBA INTERFACE TESTING TOOLKIT

Mô tả:

Kiểm thử giao diện tự động.

Nguồn:

NIST

Nền tảng:

Solaris, NT; có thể thích ứng với bất kỳ nền tảng nào.

Bản dùng thử:

Địa chỉ:

www.mel.nist.gov/msidstaff/flater/mcitt/

COMPUWARE QACENTER ENTERPRISE EDITION

Mô tả:

Công cụ kiểm thử hồi quy và kiểm thử chức năng giao diện đồ họa người dùng tự động.

Nguồn:

Compuware

Nền tảng:

PC/DOS/OS/390/MVS/VM/PC/Win95/98/NT/AS400/IBM mainframe

Bản dùng thử:

Địa chỉ:

www.compuware.com/products/qacenter/qarun/

EMPIRIX CENTER

Mô tả:

Công cụ kiểm thử hồi quy và kiểm thử chức năng giao diện đồ họa người dùng tự động.

Nguồn:

RSW Software.

Nền tảng:

Windows

Bản dùng thử:

Địa chỉ:

www.rswsoftware.com

Các trình dò lỗi trong thời gian thực thi

Loại:

Trình phân tích tự động (Lưu ý: mã nguồn cần được biên dịch và thực thi trước khi các trình phân tích động có phát hiện lỗi.)

Đầu vào:

Sự thực thi các ca kiểm thử.

Đầu ra:

Các lỗi trong thời gian thực thi.

Người dùng chủ yếu:

Lập trình viên.

Người dùng thứ yếu:

Kiểm thử viên.

Nguyên lý công nghệ:

Loại công cụ này hoặc chèn mã nguồn của nó vào trong mã nguồn cần kiểm thử trước khi biên dịch và thực thi hoặc nó ghi nhận các hoạt động đọc/ghi bộ nhớ giữa chương trình (và các thành phần của chương trình) và hệ điều hành. Trong quá trình thực thi chương trình, nó tìm kiếm các hoạt động lỗi và không hợp lệ được yêu cầu bởi ứng dụng sao cho các lỗi được phát hiện và ghi nhận. Loại công cụ này phát hiện các lỗi như ghi đè bộ nhớ, thiếu bộ nhớ, lỗi đọc và giải phóng bộ nhớ 2 lần. Nếu không có cách phát hiện các lỗi như thế, các lỗi liên quan đến bộ nhớ rất khó có để tái tạo.

Bộ nhớ là một điều kiện về môi trường động. Khi có một lỗi như ghi đè bộ nhớ, các triệu chứng thu được từ kiểm thử hộp đen có thể thay đổi từ không có gì xảy ra đến toàn bộ hệ thống sụp đổ. Điều này là do bản thân môi trường được yêu cầu để triệu chứng lỗi xuất hiện thay đổi. Loại công cụ này hỗ trợ dò tìm các lỗi ở mức mã nguồn hơn là mức triệu chứng.

Danh sách các công cụ dò tìm lỗi trong thời gian thực thi

Các công cụ này kiểm tra các lỗi tương tác với bộ nhớ và hệ điều hành.

RATIONAL (IBM) PURIFY

Mô tả:

Phát hiện lỗi liên quan đến bộ nhớ và các lỗi khác khi thực thi.

Nguồn:

Rational

Nền tảng:

Windows NT và UNIX

Bản dùng thử:

Địa chỉ:

www.rational.com

PARASOFT INSURE PLUSPLUS

Mô tả:

Phát hiện lỗi liên quan đến bộ nhớ và các lỗi khác khi thực thi.

Nguồn:

Parasoft

Nền tảng:

Windows và UNIX

Bản dùng thử:

Địa chỉ:

www.parasoft.com

ONYX Q

Mô tả:

Phát hiện lỗi liên quan đến bộ nhớ và các lỗi khác khi thực thi.

Nguồn:

Onyx Technology

Nền tảng:

Macintosh

Bản dùng thử:

Địa chỉ:

www.onyx-tech.com

MICROQUILL HEAP AGENT

Mô tả:

Phát hiện lỗi liên quan đến bộ nhớ và các lỗi khác khi thực thi.

Nguồn:

MicroQuill

Nền tảng:

Windows

Bản dùng thử:

Địa chỉ:

www.microquill.com

COMPUWARE BOUNDSCHECKER

Mô tả:

Phát hiện lỗi liên quan đến bộ nhớ và các lỗi khác khi thực thi.

Nguồn:

Compuware

Nền tảng:

Windows

Bản dùng thử:

Địa chỉ:

www.compuware.com

Danh sách các công cụ kiểm thử bảo mật Web

Các công cụ này có thể được sử dụng để phát hiện và phân tích các vấn đề về bảo mật tiềm ẩn trong một ứng dụng mạng hay ứng dụng Web.

SURFINGATE FIREWALLS

Mô tả:

Tường lửa phát hiện các ứng dụng nguy hiểm VBScript, Java, Javascript và ActiveX. SurfinGate cung cấp cơ chế bảo mật đối với nội dung Web động và có ngăn cản các tấn công mới biết hoặc đã biết.

Nguồn:

Finjan Software

Nền tảng:

Windows

Bản dùng thử:

Địa chỉ:

www.finjan.com

NETSCAN TOOLS

Mô tả:

Các công cụ mạng truyền thống trên UNIX được chuyển đổi để sử dụng trên các hệ thống Windows.

Nguồn:

Northwest Performance Software, Inc.

Nền tảng:

Windows

Bản dùng thử:

Không

Địa chỉ:

www.nwpsw.com

COMPUWARE BOUNDSCHECKER

Mô tả:

Truy cập các điều khiển ứng dụng.

Nguồn:

Posum Software Security Technologies.

Nền tảng:

Windows

Bản dùng thử:

Địa chỉ:

www.posum.com

WEBTRENDS SECURITY ANALYZER

Mô tả:

Phân tích các vấn đề bảo mật Internet và intranet.

Nguồn:

Webtrends

Nền tảng:

Windows, Solaris, Linux

Bản dùng thử:

Địa chỉ:

www.webtrends.com/products/wsa/

NETWORK TOOLBOX

Mô tả:

Các công cụ phân tích các yếu điểm về bảo mật trên các hệ thống Windows.

Nguồn:

J. River

Nền tảng:

Windows

Bản dùng thử:

Địa chỉ:

www.jriver.com/products/network-toolbox.html

Các công cụ kiểm thử Java

Các công cụ này chỉ được sử dụng để kiểm thử các ứng dụng Java.

COMPUWARE QACENTER ENTERPRISE EDITION

Mô tả:

Cho phép các nhóm kiểm thử định nghĩa sự hỗ trợ riêng của họ cho các điều khiển Java được tùy biến.

Nguồn:

Compuware

Nền tảng:

PC/DOS/OS/390/MVS/VM/PC/Win95/98/NT/AS400/IBM mainframe

Bản dùng thử:

Địa chỉ:

www.compuware.com/products/qacenter/qarun/

JPROBE SUITE

Mô tả:

Jprobe Suite chứa trình phân tích hiệu năng (profiler), trình gỡ rối bộ nhớ, trình phân tích tuyến (thread analyzer) và công cụ phân tích độ bao phủ (coverage tool).

Nguồn:

Quest Software

Bản dùng thử:

Địa chỉ:

java.quest.com/jprobe/jprobe.shtml

JUNIT

Mô tả:

JUnit là công cụ kiểm thử hồi quy được thiết kế cho các lập trình viên.

Nguồn:

Quest Software

Bản dùng thử:

Địa chỉ:

www.junit.org

Một số loại công cụ kiểm thử hữu ích khác

-

Các công cụ quản lý/phát triển kiểm thử.

-

Các công cụ phân tích hiệu năng dựa trên mã nguồn.

-

Các trình phân tích độ bao phủ dựa trên mã nguồn.

Các công cụ kiểm thử cơ sở dữ liệu

Các công cụ và tiện ích này dành cho kiểm thử cơ sở dữ liệu.

PRINCETON SOFTECH’S RELATIONAL TOOLS

Mô tả:

Princeton Softech’s Relational Tool cho phép bạn trích lọc, soạn thảo và so sánh các tập con dữ liệu liên quan. Bằng cách cải tiến quản lý dữ liệu kiểm thử với RT, bạn có thể tạo ra các ứng dụng chất lượng, đúng tiến độ và với ngân sách cho phép.

Nguồn:

Princeton Softech

Nền tảng:

MVS, OS/390, Windows 95/98/NT/2000

Bản dùng thử:

Địa chỉ:

princetonsoftech.com/products/relationaltool.htm

DATATECH

Mô tả:

Một chương trình được sử dụng để tạo ra dữ liệu thử trong các tệp văn bản ASCII hoặc trong các hệ quản trị cơ sở dữ liệu quan hệ, bao gồm Oracle, Sybase, SQL Server và Informix.

Nguồn:

Banner Software

Nền tảng:

Windows

Bản dùng thử:

Địa chỉ:

www.datatech.com

Các nhà cung cấp quản lý lỗi

Các công cụ được cung cấp bởi các nhà cung cấp này cho phép các nhóm phát triển phần mềm (kiểm thử, quản trị dự án, phát triển, tiếp thị…) trao đổi và quản lý hiệu quả các vấn đề liên quan đến lỗi.

Các nguồn khác

Trên mạng Internet

xPrograming.com

Nguồn về Extreme Programming với liên kết đến Website công cụ kiểm thử xUnit: www.xprogramming.com/software.htm

DBMS Online Buyer’s Guide Testing and Software Quality

Các công cụ kiểm thử phần mềm khác nhau, gồm các công cụ kiểm thử Web và kiểm thử tải: www.dbmsmag.com/pctest.html

Rick Hower’s Software QA/Test Resource Center – The Software QA Software Testing Tool Page

Trang này cung cấp các link thông tin về các công cụ công nghệ phần mềm và kiểm thử: www.softwareqatest.com/pctest.html

The Original Brian Marick’s Testing Tool Supplier List

Danh sách này ban đầu được phát triển bởi Brian Marick, nhưng bây giờ được duy trì bởi Danny Faught. Thông tin trực tiếp từ các email của các nhà cung cấp: www.testingfaqs.org/tools.htm

LogiGear Corporation

Là nhà phát triển TRACKGEAR, giải pháp quản lý lỗi và ghi nhận lỗi trên Web, cung cấp các thông tin về các công cụ kiểm thử, đào tạo về kiểm thử phần mềm và các dịch vụ gia công kiểm thử phần mềm: www.logigear.com

Các danh mục các công cụ kiểm thử và phát triển

Các danh mục này cung cấp các công cụ kiểm thử và phát triển.

Programmer’s Paradise, Internet Paradise, and Components Paradise

www.pparadise.com

The Programmer’s Supershop Buyer’s Guide

www.supershop.com

VBxtras

www.vbxtras.com

Bạn đang đọc truyện trên: AzTruyen.Top

Tags: #kcpm