Giáo trình

Đảm bảo chất lượng phần mềm

Science and Technology

Kiểm thử Foreign – Language

Ngày nay hầu hết các phần mềm được tung ra trên toàn thế giới không phải một quốc gia nào đó hay một dạng ngôn ngữ nào đó. Microsoft đã tung ra Windows XP với sự hỗ trợ của 106 ngôn ngữ và thổ âm từ Afirikaans tới Hungari hay Zulu. Hầu hết các công ty phần mềm đều làm như vậy, và thấy rằng thị trường Anh - Mĩ có lượng khách hàng tiềm năng chưa bằng một nửa. Nó làm cho việc kinh doanh có ý nghĩ hơn khi thiết kế và kiểm thử phần mềm có tính toàn cầu.

Phần này đề cập đến những vấn đề liên quan tới kiểm thử phần mềm được viết cho các quốc gia và ngôn ngữ khác nhau. Đây có vẻ là một quá trình đơn giản, nhưng thực tế lại không phải vậy bạn sẽ biết được lí do tại sao.

Ý nghĩa của từ ngữ và hình ảnh

Bạn đã bao giờ đọc một cuốn số về một thiết bị hay một thứ đồ chơi mà chỉ được chuyển đổi đơn giản sang một ngôn ngữ khác chưa? Có thể là dễ dàng khi chuyển đổi từng từ nhưng để tạo thành một khối tổng thể đúng nghĩa và dễ hiểu đòi hỏi đầu tư nhiều về thời gian và trí tuệ.

Những người phiên dịch tốt có thể làm được điều đó. Nếu họ thành thạo cả hai thứ tiếng, họ có thể biến bản text từ tiếng nước ngoài thành bản dịch có thể đọc được như bản gốc. Thật không may, điều bạn tìm thấy trong ngành công nghiệp phần mềm là thậm chí một bản dịch tốt cũng không đầy đủ.

Tiếng Tây Ban Nha là một ví dụ, liệu có phải là một vấn đề đơn giản khi chuyển một text tiếng Anh sang tiếng Tây Ban Nha? Những loại tiếng Tây Ban Nha nào bạn đang đề cập tới? Tiếng Tây Ban Nha xuất phát từ Tây Ban Nha? Nhưng còn tiếng Tây Ban Nha từ CostaRica, Peru hay cộng hòa Dominica? Tất cả đều là tiếng Tây Ban Nha nhưng chúng đủ khác nhau để phần mềm được viết cho mỗi ngôn ngữ trong số chúng có thể không đầy đủ từ các ngôn ngữ khác. Thậm chí tiếng Anh cũng có những vấn đề này. Không chỉ có tiếng Anh-Mĩ mà còn có cả tiếng Anh-Canada, tiếng Anh-Australia và tiếng Anh-Anh.

Các vấn đề về dịch thuật

Quan trọng là bạn hay ai đó trong đội kiểm thử của bạn phải quen thuộc chút ít với ngôn ngữ các bạn đang kiểm thử. Dĩ nhiên, nếu bạn chuyển chương trình của mình sang 32 thứ tiếng khác nhau, điều này có thể rất khó khăn. Giải pháp là kí hợp đồng với một công ty kiểm thử địa phương hóa. Vô số các công ty như vậy trên thế giới có thể thực hiện kiểm thử gần như trên với bất kì ngoại ngữ nào. Để biết thêm thông tin, hãy tìm “localization testing” trên Internet.

Không yêu cầu rằng mỗi người trong đội kiểm thử phải nói được thứ ngôn ngữ mà phần mềm đang được địa phương hóa thành, các bạn chỉ cần một người. Nhiều thứ có thể được kiểm tra mà không cần biết các từ ngữ nói gì. Chắc chăn sẽ rất có ích khi biết một chút ít ngoại ngữ, tuy nhiên bạn sẽ thấy rằng, bạn có thể vẫn thực hiện được công việc kiểm thử mà không cần phải thành thạo.

a) Sự mở rộng text (text expansion)

Ví dụ dễ thấy nhất về vấn đề dich thuật có thể được xảy ra là do cái mà được gọi là sự mở rộng text. Dù tiếng Anh có vẻ dài dòng, nhưng thực sự khi được dịch ra các ngôn ngữ khác, chúng ta thường phải dùng nhiều kí tự hơn để nói về cùng một vấn đề.

Hình 5.16 cho thấy kích cỡ của một nút (button) cần mở rông tới thế nào để lưu giữ text được dịch khi dịch hai từ rất phổ biến của ngôn ngữ máy tính.

Một quy tắc rất hay về dạng thumb là tăng 100% về kích cỡ đối với các từ. Ví dụ, trên một nút, hãy tăng 50% về kích cỡ đối với các câu và đoạn văn ngăn có các cấu trúc điển hình mà bạn cỏ thể thấy ngay trong các hội thoại hoặc các message báo lỗi.

Khi được dịch sang ngôn ngữ khác từ Minimize hoặc Maximize có thể mở rộng về kích cỡ và buộc phải thiết kế lại để có thể lưu giữ được chúng

Bởi vì sự mở rộng này, bạn cần kiểm tra các vùng cẩn thận của phần mềm các vùng của phần mềm mà có thể bị ảnh hưởng bởi các text dài hơn. Hãy tìm kiểm text không được bao hoàn toàn, bị xén bớt hoặc bị gạch nối không đúng. Điều này có thể xảy ra bất kì ở đâu- trên màn hình, trong các cửa sổ, trong các boxes, các button,…. Đồng thời hãy tìm kiếm các trường hợp nơi text có đủ chỗ để mở rộng nhưng vẫn bị như trên bởi đã đẩy cái gì đó ra ngoài.

Để giải quyết vấn đề trên, một white – box tester có thể nắm bắt được vấn đề đó mà không cần hiểu rõ về ngôn ngữ đó.

  1. ASCII, DBCS, và Unicode

Bảng mã ASCII sử dụng một byte gồm có 256 ký tự không đủ cho việc biểu diễn các ngôn ngữ khác nhau.

Ví dụ: như tiếng Nhật và tiếng Trung Quốc có hàng nghìn các ký tự đặc biệt.

Vì vậy hệ thống DBCS(Double Byte Character Set) sử dụng hai byte gồm 65.536 ký tự khác nhau để giải quyết cho vấn đề này. Nhưng những trang mã DBCS lại gặp một số vấn đề trở ngại trong khả năng tương thích.

Ví dụ: tài liệu của người Do Thái được tải trên máy tính của người Đức đang chạy một bộ xử lý văn bản tiếng Anh, kết quả là có thể gây ra sai về ngữ pháp.

Giải pháp chung cho những vấn đề này là chuẩn Unicode. Tìm hiểu “ Unicode là gì” từ Unicode Consortium website, www.unicode. Org

Bởi vì Unicode là một chuẩn mở rộng hỗ trợ chính bởi những công ty phần mềm, những nhà sản xuất phần cứng, và những nhóm tiêu chuẩn khác, nó đang trở nên thông dụng hơn. Đa số những ứng dụng phần mềm hỗ trợ nó

Hộp thoại này cho thấy sự hỗ trợ của chuẩn Unicode

  1. Hot Keys và Shortcuts (Phím nóng và phím tắt)

Trong tiếng Anh, nó là “Search”. Trong tiếng Pháp, thì nó là “Réchercher”. Nếu phím nóng để lựa chọn cho sự tìm kiếm “Search” trong phiên bản tiếng Anh phần mềm của các bạn là Alt+S, mà nó cần sự thay đổi trong phiên bản tiếng Pháp.

Trong các phiên bản địa phương hoá phần mềm, bạn cần kiểm tra tất cả những phím nóng và công việc của những phím tắt sao cho dễ sử dụng và mang ý nghĩa gợi nhớ.

  1. Extended Characters (Mở rộng bảng ký tự)

Bảng mã ASCII, ngoài 26 chữ cái hoa từ A..Z và 26 chữ cái thường từ a..z còn có những ký tự đặc biệt không có trên bàn phím như

, nhưng với sự hỗ trợ của bảng mã Unicode hoặc DBCS thì sự biểu diễn các ký tự đặc biệt trên không là vấn đề lớn.

Để kiểm tra bảng ký tự mở rộng đó bạn có thể kiểm tra việc nhập xuất của các ký tự đó có diễn ra như các ký tự thông thường không. Và kiểm tra xem chuyện gì sẽ xảy ra khi bạn thực hiện thao tác cut, copy và paste giữa các chương trình khác nhau?

  1. Computations on Characters (Sự tính toán trên các ký tự)

Liên quan đến mở rộng ký tự là cách thức phần mềm tính toán trên các kí tự đó. VD: sắp xếp từ và đổi chữ hoa và chữ thường.

Reading Left to Right and Right to Left (Đọc từ trái qua phải và từ phải qua trái)

Một vấn đề lớn cho bản dịch là một vài ngôn ngữ, như tiếng Do Thái và tiếng Ả rập đọc từ phải sang trái không đọc từ trái sang phải.

Đa số hệ điều hành hỗ trợ xử lý những ngôn ngữ này. Nhưng nó là một nhiệm vụ gần như không thể đạt được. Vì thế nó vẫn chưa là một vấn đề đơn giản của việc dịch văn bản.

  1. Text in Graphics (Text dưới dạng đồ hoạ)

Một vấn đề phiên dịch khác xuất hiện khi văn bản được sử dụng trong đồ hoạ.

Word 2000 có những ví dụ của văn bản ở dạng bipmaps thì khó có thể dịch

Khi biễu diễn văn bản dưới dạng đồ hoạ, nếu nó không phù hợp cho việc địa phương hoá phần mềm thì bạn cần thiết kế lại sao cho phù hợp.

Localization Issues (vấn đề địa phương hóa)

Việc dịch chỉ là một vấn đề nhỏ trong quá trình kiểm thử ngôn ngữ. Với bất kỳ một văn bản dù có độ dài hay bao gồm nhiều kí tự khác nhau như thế nào đi chăng nữa thì đều có thể dịch một cách dễ dàng. Nhưng vấn đề ở đây là làm thế nào để các phiên bản dịch có thể phù hợp với tất cả mọi nơi.

Khi một phần mềm đã được dịch và kiểm tra cẩn thận thì thường được coi là chính xác và tin cậy. Nhưng nếu người lập trình viên không xem xét đến việc có thể xảy ra vấn đề địa phương hoá thì có lẽ phần mềm không còn chính xác, không còn được coi là chất lượng cao nữa.

  1. Một số ví dụ về sự địa phương hoá

Ví dụ ở nước Mỹ:

Ví dụ về sự địa phương hoá

Nếu bạn đang kiểm tra một sản phẩm mà sẽ được địa phương hoá, bạn cần xem xét cẩn thận nội dung để chắc chắn rằng nó sẽ thích hợp cho những nơi mà nó được sử dụng.

Danh sách các sản phẩm với nội dung mà chúng ta cần xem xét cho sự địa phương hoá:

Sample documents Icons
Pictures Sounds
Video Help files
Maps with disputed boundaries Marketing material
Packaging Web links

Ví dụ vế sự địa phương hoá trong sự kiện:A Nose too long:

  • Vào năm 1993, Microsoft cho ra mắt hai sản phẩm mới cho trẻ em được gọi là phần mềm sáng tạo ra cách viết và cách vẽ đẹp. Sản phẩm này có đặc điểm là sử dụng người trợ giúp với tên gọi là McZee để hướng dẫn cho trẻ em. Nhiều nghiên cứu đã đi vào thiết kế McZee để lựa chọn ra giao diện, màu sắc, kiểu cách, tính cách ..v..v.
  • Không may là sau khi nhiều công việc đã được thiết kế những hình ảnh mà xuất hiện trên màn hình như vậy, một số người trong bộ phận ngoại giao của Microsoft, sau khi nhận được phiên bản sơ bộ của phần mềm họ xem xét họ và cho rằng nó không thể chấp nhận. Lý do: McZee có cái mũi quá dài. Trong nhận thức (văn hoá) của họ, con người với những cái mũi quá lớn là không bình thường. Họ nói rằng sản phẩm sẽ không bán được nếu nó không được địa phương hoá trong địa phương của họ.
  • Thế nhưng để tạo ra 2 phiên bản Mczee khác nhau cho mỗi địa phương thì sẽ quá tốn, vì vậy để hoàn thành được công việc thiết kế, thì công việc thiết kế mỹ thuật cho cái mũi đó sẽ là công việc đầu tiên phải làm
  • Định dạng dữ liệu

Những địa phương khác nhau sử dụng cách định dạng khác nhau cho những đơn vị dữ liệu như tiền tệ, thời gian, kích thước. Và làm thế nào để có thể định dạng phù hợp với từng địa phương đó chính là địa phương hoá chứ không phải là bản dịch.

Một chương trình Anh Mỹ đang được đưa ra, chương trình này làm việc với đơn vị Inch, đã cho thấy không phải đơn giản là từ đơn vị inch thông qua một bản dịch văn bản để chuyển về centimet. Điều đó yêu cầu là phải thay đổi mã code như thế nào để có thể chuyển đổi được những công thức đó…

Ví dụ: Những tuỳ chọn và những thiết đặt trong windows cho phép một người sử dụng lựa chọn số, tiền tệ, thời gian, và ngày tháng sẽ được hiển thị:

Thiết đặt các thuộc tính địa phương hoá trong windows

Chú ý :

  • Làm thế nào để việc lựa chọn ngày tháng không ảnh hường gì đến việc xử lý nội tại trong hệ điều hành và trong các phần mềm khác.
  • Ví dụ: Bảng ngày tháng trên “Customize regional options” là kiểu ngày tháng ngắn.
  • Nếu bạn là tester phần mềm được địa phương hoá bạn sẽ phải quen thuộc sử dụng với tất cả các đơn vị đo lường để có thể đạt đến đích cuối cùng. Để kiểm tra phần mềm một cách đúng đắn, bạn cần tạo các lớp tương đương của việc phân chia dữ liệu.

Tuỳ chọn địa phương hoá ngày, tháng, số, tiền tệ

Configuration and Compatibility Issues (Những vấn đề về cấu hình và sự tương thích)

Việc kiểm thử về cấu hình và kiểm thử về tính tương thích là rất quan trọng khi kiểm thử địa phương hoá những phiên bản của phần mềm. Những vấn đề này có thể nảy sinh khi phần mềm tương tác với phần cứng và với các phần mềm khác.

  1. Những vấn đề về cấu hình

Windows XP hỗ trợ 106 ngôn ngữ và 66 cách trình bày bàn phím khác nhau

Ví dụ về ba cách trình bày bàn phím khác nhau thiết kế cho những nước khác nhau:

Bàn phím nước Ả Rập

Bàn phím nước pháp

Bàn phím nước Nga

Bạn sẽ thấy mỗi bàn phím biểu diễn bằng những từ khoá đặc biệt đối với ngôn ngữ của nước mình, nhưng vẫn lấy tiếng anh làm đặc tính chung. Tiếng anh được coi như là một ngôn ngữ thứ hai trong nhiều nước, và cho phép bàn phím sử dụng cả phần mềm bằng tiếng bản xứ của mình lẫn tiếng anh.

  • Các thiết bị khác:

- Máy in: Giải sử bạn cần in tất cả các đặc tính phần mềm của bạn gửi tới cho ai đó và đúng định dạng đầu ra trên nhiều kích thước giấy được dùng trong những nước khác nhau.

- Nếu phần mềm của bạn sử dụng Modem thì nó sẽ liên quan đến đường điện thoại hay những giao thức truyền thông khác nhau …

- Như vậy có thể thấy, bất kỳ một thiết bị ngoại vi nào mà phần mềm của bạn có khả năng làm việc với thì cần được xem xét một vùng tương đương cho sự thử về tương thích cấu hình.

  • Chú ý:

- Khi thiết kế những phân vùng tương đương, bạn đừng quên xem xét tất lại cả những phần cứng và phần mềm có liên quan đến. Bao gồm phần cứng, ổ cứng, và hệ điều hành.

b) Những vấn đề về sự tương thích

- Cũng như sự thử cấu hình, sự thử tương thích dữ liệu đảm nhiệm một ý nghĩa hoàn toàn mới khi bạn thêm sự địa phương hoá vào chương trình.

- Hình ảnh sau cho thấy sự thử tương thích dữ liệu của phần mềm được địa phương hoá có thể trở lên khá phức tạp thế nào.

Sự phức tạp về tính tương thích của phần mềm được địa phương hoá

Trong thời gian dữ liệu dịch chuyển vòng tròn, với tất cả sự chuyển biến và xử lý những đơn vị đo lường và kí tự mở rộng như vậy thì đã xuất hiện nhiều chỗ lỗi. Một số lỗi này có thể đúng như trong thiết kế.

  • Chẳng hạn như:
  • Chuyện gì sẽ xảy ra khi dữ liệu được di chuyển từ ứng dụng này sang ứng dụng khác nếu nó cần phải thay đổi những định dạng?
  • Nó cần phải được tự động chuyển đổi, hay người sử dụng chuyển đổi ?
  • Chú ý:
  • Để tránh tốn nhiều thời gian, chi phí cho địa phương hoá phần mềm cho phù hợp với nhiều nơi thì chúng ta nên địa phương hoá ngay từ khi dự án bắt đầu.
  • Số lượng kiểm thử sự địa phương hoá là một việc khó xác định vì tuỳ thuộc vào vấn đề địa phương hoá và kinh nghiệm của tester về vấn đề địa phương hoá đó.
  • Trong việc kiểm thử địa phương hoá, Những người kiểm thử hộp trắng sẽ kiểm tra mã code, sử dụng các đơn vị đo lường, và các đặc tính mở rộng … Những người kiểm thử hộp đen cẩn thận xem xét spec và sản phẩm để địa phương hóa những vấn đề như văn bản trong đồ họa và những vấn đề cấu hình

Mục lục
Đánh giá:
0 dựa trên 0 đánh giá
Nội dung cùng tác giả
 
Nội dung tương tự