Kiểm tra tính tương thích ứng dụng với Windows 7

Thảo luận 1

Windows 7 cái tên hệ điều hành (HĐH) máy tính mới nhất của gã khổng lồ Microsoft đang được nhắc đến khá nhiều. Kế thừa những ưu điểm từ phiên bản Windows trước, Windows 7 hứa hẹn đáp ứng tốt hơn những gì người dùng mong đợi.

Một vấn đề khá quan trọng trong quá trình chuyển giao giữa các thế hệ HĐH đó là HĐH mới trong khi phần mềm cũ. Trong khi chờ đợi các phiên bản phần mềm mới ra đời tương thích với Windows 7 thì chúng ta vẫn phải sử dụng các phiên bản hiện tại để làm việc. Các phần mềm hiện tại có tương thích với Windows 7 hay không hoặc tương thích ở mức độ như thế nào quả thực là câu hỏi khó. Trong số các HĐH trong dòng Windows thì Vista và Windows 7 là 2 HĐH được xây dựng dựa trên công nghệ mới với nền tảng hầu như thay đổi hoàn toàn so với thế hệ từ Windows XP trở về trước. Do vậy phần mềm đã chạy tốt trong Vista thì 99% tương thích với Windows 7, nhưng với những phần mềm đang chạy trong Windows XP thì mọi chuyện phức tạp hơn rất nhiều. Trong khi đó vấn đề nan giải là phần lớn số lượng người dùng Windows hiện nay lại đang sử dụng Windows XP. Để hỗ trợ người dùng Microsoft đã cung cấp các phương pháp, công cụ kiểm tra tính tương thích và làm giảm nhẹ vấn đề gặp phải để các phần mềm cũ có thể chạy trơn tru trong Windows 7. Chúng ta sẽ làm quen với một số phương pháp và công cụ này của Microsoft.

Đối với những đối tượng khác nhau thì việc kiểm thử tính tương thích của ứng dụng trong Windows 7 cũng mang những tính chất khác nhau. Đối với người dùng phổ thông, việc kiểm tra ứng dụng sẽ ở mức ứng dụng có cài đặt và chạy tốt trong Windows 7 hay không? Cách kiểm thử tính tương thích đối với người sử phổ thông cũng khá đơn giản, họ chỉ việc cài đặt và chạy thử ứng dụng. Tuy nhiên để có tính quy chuẩn và dễ dàng hơn trong việc đánh giá kết quả kiểm thử, phương pháp kiểm tra nhanh ứng dụng cho người sử dụng phổ thông có thể phân thành các bước như sau:


Hình 1: Yêu cầu cấp quyền cài đặt

[​IMG]
Kiểm tra nhanh khả năng tương thích


1. Cài đặt phiên bản Windows 7 RC lên một máy tính có cấu hình phù hợp để làm phương tiện kiểm thử.

2. Cài đặt ứng dụng trên máy kiểm tra. Nếu có hộp thoại hiển thị yêu cầu cấp quyền cài đặt phần mềm trên máy tính thì ấn nút “Đồng ý” và tiếp tục. Nếu cài đặt thành công thì tiến tới bước 6.




Hình 2: Nhấn chuột phải và chọn Run as administrator.

[​IMG]
3. Nếu ứng dụng thực thi cài đặt thất bại và không có hộp thoại xin cấp quyền cài đặt xuất hiện thì nhấn chuột phải vào tệp tin cài đặt, chọn “Run as administrator” và thực hiện cài đặt lại ứng dụng. (chú ý: bước này không cần thiết nếu tệp tin cài đặt có phần mở rộng là MSI).

4. Nếu xuất hiện lỗi trong quá trình cài đặt như: kiểm tra phiên bản HĐH (OS version checking), đăng ký CLSID, hoặc file copy… thì nhấn chuột phải vào file cài đặt, chọn “Property”, chọn tab “Compatibility”, chọn chế độ “Windows Windows XP SP2 compatibility”.


Hình 3: Chọn chế độ tương thích Windows XP SP2

[​IMG]
5. Quay lại bước 2. Nếu không thể cài đặt được thì chạy tới bước 9.


6. Ứng dụng được cài đặt.

7. Chạy ứng dụng. Nếu ứng dụng chạy không thành công hoặc có lỗi hiển thị thì sử dụng chế độ tương thích Windows XP SP2 cho file chạy và thử lại lần nữa.

8. Nếu ứng dụng được kích hoạt thành công, bạn nên chạy qua tất cả các chức năng mà bạn vẫn hay dùng để kiểm tra chương trình. Kiểm tra kết quả chạy và xác nhận chương trình đã hoạt động chính xác. Nếu mọi chức năng chính đã chạy tốt thì tiến tới bước 10.



Hình 4: Chương trình được cài đặt

[​IMG]
9. Nếu như chương trình không thể cài đặt được, không kích hoạt được, chương trình bị dừng đột ngột, xuất hiện thông báo lỗi, hay các chức năng chính không chạy đúng tức là một phần ứng dụng đã bị ảnh hưởng bởi sự thay đổi trong Windows 7.

10. Kết thúc kiểm tra.



Hình 5: Lỗi trong quá trình chạy thử nghiệm ứng dụng trong Windows 7

[​IMG]
Như vậy qua những bước kiểm tra sơ bộ bạn có thể biết chương trình có chạy được hay không trong Windows 7. Đối với người sử dụng có kiến thức chuyên sâu về phần mềm, người sử dụng chuyên nghiệp, kỹ sư phần mềm, những người muốn có được cái nhìn sâu hơn về vấn đề tương thích. Họ không chỉ muốn biết ứng dụng của họ có tương thích với Windows 7 hay không mà họ còn muốn biết tường tận hơn về vấn đề mà ứng dụng gặp phải. Microsoft cung cấp bộ công cụ ACT (Application Compatibility Toolkit) hỗ trợ việc phát hiện các vấn đề không tương thích và phát hành các miếng vá khắc phục một phần các vấn đề này.

Bộ công cụ tương thích ACT



Hình 6: Ứng dụng Application Compatibility Manager trong bộ ACT

[​IMG]
Quy trình hoạt động của ACT bao gồm 3 giai đoạn như sau:

Giai đoạn 1: Thu thập dữ liệu. Thu thập các dữ liệu liên quan đến việc tương thích của ứng dụng đối với Windows7.

Giai đoạn 2: Phân tích vấn đề. Sau khi có được dữ liệu ta cần tổ chức lại cho phù hợp và đưa ra các phân tích dữ liệu. Công việc này bao gồm phân loại danh mục dữ liệu, đánh giá độ ưu tiên và tạo các báo cáo cần thiết.

Giai đoạn 3: Kiểm tra và làm giảm nhẹ vấn đề. Test để kiểm tra các vấn đề có thực sự xảy ra bằng các công cụ: Internet Explorer Compatibility, Setup Analysis và Standard User Analyzer. Nếu vấn đề thực sự nảy sinh thì tạo ra các gói sửa chữa vấn đề.

Các thành phần chính của ACT 5.5 như sau:



Hình 7: Cấu trúc và thành phần của ACT

[​IMG]
Application Compatibility Manager (ACM). Công cụ cho phép cấu hình, thu thập và phân tích các dữ liệu để chúng ta có thể sửa bất kỳ vấn đề tương thích nào trước khi triển khai một HĐH mới hoặc bản Windows cập nhật trong doanh nghiệp.

Data Collection Package (DCP). Một tệp tin Windows Installer (msi) được tạo ra bởi ACM cho việc triển khai cho mỗi máy tính trạm (client computer). Mỗi DCP có thể có một hoặc nhiều đánh giá tương thích tuỳ thuộc vào những gì chúng ta muốn đánh giá.



Hình 8: Màn hình tạo DCP thu thập dữ liệu

[​IMG]
ACT Log Processing Service. Service được sử dụng để xử lý các tệp tin ACT log được tải lên từ máy trạm. Nó sẽ chứa thông tin vào cơ sở dữ liệu của ACT.

ACT Log Processing Share. Những tệp tin chia sẻ được truy cập bởi service xử lý tệp tin ACT. Các tệp này được dùng để chứa các log mà sẽ được xử lý và lưu trữ vào cơ sở dữ liệu.



Hình 10: Dữ liệu thu thập được hiển thị trong ứng dụng Application Compatibility Manager.

[​IMG]
ACT Database. Cơ sở dữ liệu MS SQL Server dùng để chứa dữ liệu thu thập.

Microsoft Compatibility Exchange. Là một dịch vụ web dùng để phổ biến rộng rãi các vấn đề tương thích ứng dụng từ máy chủ tới máy trạm và cho phép máy trạm kết nối tới Microsoft để kiểm tra lại các thông tin tương thích đã được cập nhập.

Thu thập và phân tích dữ liệu



Hình 10: Dữ liệu thu thập được hiển thị trong ứng dụng Application Compatibility Manager.
ACT cho phép tạo ra các gói thu thập dữ liệu DCP (Data Collector Package). Khi các DCP này được cài đặt vào hệ thống nó sẽ theo dõi các ứng dụng đang hoạt động trong Windows 7 và ghi lại các thông tin chi tiết khi có vấn đề không tương thích xảy ra. Đầu tiên ta cần tạo các DCP để thực hiện việc theo dõi hệ thống.



Hình 11: Thông tin về vấn đề mà ứng dụng gặp phải.

[​IMG]
DCP được tạo ra dưới dạng 1 tệp tin cài đặt, ta cần thực hiện việc cài đặt tệp tin này vào hệ thống. Sau khi được triển khai trong hệ thống, DCP sẽ tự động theo dõi các hoạt động của các phần mềm mà chúng ta sử dụng, khi có bất kỳ vấn đề nào xảy ra, DCP sẽ tự động ghi log lại chi tiết các vấn đề đó và lưu vào thư mục được chia sẻ. Thư mục chia sẻ này là nơi tập trung log của tất cả các DCP gửi đến và có thể được dùng chung trong mạng nội bộ. Các dịch vụ thực hiện việc xử lý tệp tin log sẽ lấy dữ liệu từ các tệp tin log trong thư mục chia sẻ để lưu vào trong cơ sở dữ liệu (Ms Sql Server 2005). Người sử dụng có thể truy cập và xem các thông tin này trong ứng dụng Application CompatibilityManager khi nhấn vào tab analyze. Tất cả các ứng dụng được cài đặt trong máy sẽ được liệt kê tại đây cùng với thông tin về các vấn đề tương thích như hình dưới.


Hình 12: Thông tin chi tiết về vấn đề mà ứng dụng gặp phải. Vấn đề ở đây là ứng dụng đã truy cập vào phần Registry hệ thống (HKLM), phạm vi Registry này được hệ thống bảo vệ nên nếu ứng dụng không có quyền của Administrator thì sẽ không thể ghi dữ liệu vào khu vực này được. Trong mục Issue Description sẽ mô tả chi tiết hơn về vấn đề và có thông tin tham chiếu để giải quyết vấn đề.
Khi nhấn vào ứng dụng gặp vấn đề sẽ có hộp thoại thông báo thông tin của vấn đề hiện ra như hình dưới. Khi nhấn vào tab Issues ta có thể biết được vắn tắt các vấn đề mà ứng dụng gặp phải, mức độ nghiêm trọng của vấn đề đến đâu.Tiếp tục nhấn vào vấn đề sẽ có hộp thoại cho biết chi tiết về vấn đề.
[​IMG]

Công cụ ACM cung cấp các tiện ích cho phép chúng ta tổ chức lại dữ liệu theo theo từng mục, từng ứng dụng, phân loại vấn đề, thiết lập độ ưu tiên và đồng thời ACM cũng cho phép hiển thị dữ liệu dưới dạng các report để cho người sử dụng có được cái nhìn tổng thể về các ứng dụng khi chạy trong môi trường Windows 7.



Hình 13: Đồng bộ hóa dữ liệu với Microsoft Compatibility Exchange Web Service

[​IMG]
Quan trọng hơn, ACT cho phép bạn đồng bộ hóa cơ sở dữ liệu ACT của bạn với Microsoft và các cộng đồng ACT, thông qua Microsoft Compatibility Exchange Web service.

Tải thông tin mới từ các nguồn chính thức như Microsoft và các nhà cung cấp phần mềm độc lập. Tải lên các vấn đề tương thích của bạn vào Microsoft

Tải thông tin tương thích phần mềm lên/từ cộng đồng ACT, nếu như bạn là một thành viên trong cộng đồng ACT và bạn đồng ý chia sẻ thông tin.


Hình 14: SUA hiển thị lỗi ứng dụng truy cập vào file khi quyền bị hạn chế.

[​IMG]
Xác nhận lại và sửa chữa vấn đề tương thích

Khi bạn muốn tập trung kiểm tra lại các lỗi không tương thích cho một ứng dụng nhất định, ACT cung cấp công cụ SUA (Standard User Analyzer) để kiểm tra độ tương thích với UAC (User Account Control) trong Windows 7. Chúng ta có thể sử dụng SUA để kiểm tra ứng dụng khi chạy với tài khoản standard user và administrator user.


Hình 15: Tạo miếng đệm làm giảm nhẹ vấn đề tương thích ứng dụng

[​IMG]
Không chỉ cung cấp công cụ để kiểm tra ứng dụng, ACT còn đưa ra công cụ Compatibility Administrator (CA) để sửa chữa một số vấn đề tương thích. CA giúp chúng ta giải quyết một số vấn đề về tương thích bằng cách như nâng quyền thực thi ứng dụng, ảo hóa file và registry để cho ứng dụng được thực thi trong môi trường giống như môi trường của Windows XP. Một điểm đáng chú ý nữa là CA cho phép đóng gói các giải pháp cách giải quyết vấn đề thành 1 miếng đệm cho phép cài đặt triển khai trên nhiều máy tính khác nhau một cách đơn giản và tiện dụng hơn.



Hình 16: Tùy thuộc vào vấn đề mà ứng dụng gặp phải ta chọn lựa giải pháp sửa chữa tương ứng

[​IMG]
Như vậy chúng ta đã có những phương pháp phù hợp và dễ dàng để kiểm tra cũng như chuyển đổi phần mềm cho HĐH mới. Tuy nhiên, việc sử dụng CA để tạo miếng đệm không thể giúp ta giải quyết gốc rễ của vấn đề và thậm chí chỉ là làm cho ứng dụng chạy không bị lỗi trong khi một số chức năng là không thể hoạt động được như bình thường.

Điều này do Windows 7 được xây dựng trên nền tảng tư duy công nghệ mới nhất, các kiến trúc trong nhân được thay đổi khá nhiều, trong khi các phần mềm cũ được xây dựng trên kiến trúc và giải pháp cũ.


Hình 17: Ví dụ về chọn giải pháp cho vấn đề hạn chế quyền truy cập UAC

[​IMG]
Để giải quyết tận gốc chúng ta cần các giải pháp quyết liệt hơn thậm chí là thiết kế lại ứng dụng với tư duy và mô hình mới thì mới có thể đảm bảo hoàn toàn về mặt tương thích cũng như chất lượng của ứng dụng. Trong bài viết tới đây tôi sẽ trình bày về vấn đề các lỗi tương thích thường gặp và nguyên nhân gây lỗi trong quá trình phát triển phần mềm.

Thảo luận 2

Vui lòng đọc kỹ trước kỹ comment, tránh những comment như không hiểu gì hết......

Thảo luận 3

Bài viết rất hay , rất có ý nghĩa, sưu tầm và chia sẻ rất hay cho anh em biết,good

Thảo luận 4

bài viết được đầu tư công phu quá.
thanhk for share
:x

Thảo luận 5

bài viết rất bổ ích, xin cảm ơn
Trả lời Mai Le , 16:52 ngày 07/03/2014 Xem thêm
Thảo luận liên quan
Kiểm tra tính tương thích ứng dụng với Windows 7 Kiểm tra tính tương thích ứng dụng với Windows 7
9/10 924 bài đánh giá