Kiểm thử cấu hình
Trong thực tế có nhiều cửa hàng có thể rộng tới 50.000 foot 2 đang chào bán các máy tính cá nhân, các máy in, màn hình, card vào mạng, modern, máy quét, máy quay phim kĩ thuật số, thiết bị ngoại vi, net-ca và hàng nghìn các đại lý máy tính của hàng trăm ...
Trong thực tế có nhiều cửa hàng có thể rộng tới 50.000 foot2 đang chào bán các máy tính cá nhân, các máy in, màn hình, card vào mạng, modern, máy quét, máy quay phim kĩ thuật số, thiết bị ngoại vi, net-ca và hàng nghìn các đại lý máy tính của hàng trăm công ty – tất cả đều có thể kết nối với máy tính của bạn.
Nếu bạn chỉ vừa mới bắt đầu công việc kiểm thử phần mềm, một trong những nhiệm vụ đầu tiên của bạn có thể là kiểm thử cấu hình. Bạn phải đảm bảo rằng phần mềm của bạn làm việc với càng nhiều tổ hợp phần cứng khác nhau càng tốt. Nếu bạn không kiểm thử phần mềm với một platform phần cứng phổ biến hay nếu bạn đang kiểm thử một số hệ thuộc quyền sở hữu chuyên biệt bạn sẽ vẫn cần xem xét những gì bạn học trong bài này vào tình huống của mình.
Khi bạn vào một trong các cửa hàng máy tính, hãy để ý tới một vài hộp phần mềm và đọc kĩ các yêu cầu về tính hệ thống. Bạn sẽ thấy những thứ này chẳng hạn như một PC với bộ xử lí là Petium 4, màn hình màu 1024×768, card hình 32 bít, game port, ….. là kiểm tra hoạt động của phần mềm bạn đang kiểm thử với tất cả các cấu hình. Hãy xem xét khả năng cấu hình khác nhau đối với một PC hoạt động dựa trên chuẩn Windows được sử dụng trong các gia đình và các cơ quan.
- The PC (máy tính cá nhân), có nhiều nhà sản xuất máy tính nổi tiếng như là Dell, Gateway, Packard. Một nhà sản xuất tạo ra các PC bằng cách sử dụng các linh kiện họ tự thiết kế hay thu được từ các nhà sản xuất khác. Nhiều người yêu thích thậm chí họ còn tạo ra những PC của riêng mình bằng cách sử dụng những linh kiện cũ có sẵn tại các cửa hàng máy tính.
- Components (các linh kiện). hầu hết các PC đều có tính khuôn mẫu và được xây dựng từ rất nhiều bảng hệ thống, các linh kiện và các thiết bị nội vi như đĩa cứng, đĩa CD-ROM, đèn DVD, bộ biến hoàn hình ảnh, âm thanh, máy fax và card vào mạng (xem hình 5.1). Có các card dò sóng tivi, và các chuyên biệt cho việc thu hình và kĩ thuật tự động hóa tại nhà. Thậm chí còn có các card đầu ra đầu vào có thể cung cấp cho PC khả năng kiểm soát của cả một nhà máy nhỏ. Những thiết bị nội vi này được sản xuất bởi hàng trăm các nhà sản xuất khác nhau.
- Peripherals (các thiết bị ngoại biên): (các thiết bị ngoại biên như trong hình 5.2), là các máy in, máy quét, chuột, bàn phím, màn hình, camera, cần điều khiển, và các thiết bị khác cắm bên ngoài máy của bạn và điều khiển ngoại vi đối với máy tính.
- Interface (giao diện): các linh kiện và các thiết bị ngoại biên được cắm vào máy tính của bạn thông qua nhiều loại thiết bị nối Interface (xem hình 5.3). Những Interface này có thể là ngoại vi hoặc nội vi đối với PC, Những tên điển hình của các Interface là ISM, PCI, USB, PS/2, RS/232, RJ-11, RJ-45 và Firewire. Có nhiều khả năng những nhà sản xuất phần cứng sẽ tạo ra cùng một thiết bị ngoại biên nhưng với các Interface khác nhau. Có thể sẽ mua được chính xác cùng một loại chuột ở ba cấu hình khác nhau
Vô số các linh kiện ngoại vi tạo nên cấu hình một PC
- Các tùy chọn và bộ nhớ (Option and memory). Nhiều linh kiện với các thiết bị ngoại biên có thể được giao bán với các tùy chọn phần cứng và kích cỡ bộ nhớ khác nhau. Các máy in có thể được nâng cấp để hỗ trợ các font phụ hay chấp nhận bộ nhớ lớn hơn đẩy nhanh tốc độ in. Các thẻ đồ họa (graphics cards) có bộ nhớ lớn hơn có thể hỗ trợ màu sắc bổ sung và độ phân giải cao hơn. Bảng hệ thống có thể có các phiên bản BIOS khác nhau (BIOS-hệ đầu ra đầu vào cơ bản) và dĩ nhiên, có thể có cả bộ nhớ dung lượng lớn.
Một PC có thể kết nối với nhiều thiết bị ngoại biên
- Các điểu khiển thiết bị (Device Drivers): Tất cả các linh kiện và thiết bị ngoại biên liên hệ với hệ điều hành và các ứng dụng phần mềm được gọi là các đĩa Device. Những đĩa này thường được cung cấp bởi các nhà phân phối đĩa cứng và được lắp đặt khi bạn tạo ra phần cứng. Dù trong kĩ thuật chúng là các phần mềm. Cho mục đích kiểm thử, chúng được coi là bộ phận của cấu hình phần cứng.
Nếu bạn là một người kiểm thử chuẩn bị bắt đầu công việc kiểm thử đối với một loại phần mềm, bạn xem xét xem vùng cấu hình nào trong các vùng cấu hình này liên hệ chặt chẽ nhất với chương trình. Một chương trình trò chơi vi tính mang tính đồ họa cao sẽ đòi hỏi nhiều sự quan tâm về các khía cạnh âm thanh và hình ảnh. Một chương trình thiếp mời đặc biệt sẽ dễ bị tổn thương đối với các vấn đề in ấn. Một chương trình fax hay giao tiếp sẽ cấn được kiểm thử với vô số modem và cấu hình mạng.
Bạn có thể sẽ băn khoăn tại sao điều này là cần thiết. Sau cùng, có các chuẩn cần biết để tạo phần cứng cho dù nó là cho máy tính cũ hay là một máy tính chuyên dụng trong bệnh viện. Bạn có thể sẽ mong muốn rằng nếu mỗi người thiết kế phần cứng của chính mình thành một tập hợp chuẩn phần mềm có thể sẽ chỉ làm việc với nó mà không gặp bất kì một vấn đề nào. Trong một thế giới lí tưởng, điều đó có thể sẽ xảy ra nhưng thật không may các chuẩn mực không phải lúc nào cũng tuân theo. Đôi khi các chuẩn khá lỏng lẻo (gọi là những guideline). Các nhà sản xuất card và thiết bị ngoại vi luôn cạnh tranh mạnh mẽ với nhau và thường phá luật nhằm gây áp lực đối với một đặc tính phụ hoặc nhằm thành công trong công việc gặt hái chút ít thành tích cuối cùng.
Thông thường các đĩa device được gói trong hộp khi phần cứng được đem ra ngoài, Kết quả là phần mềm không làm việc chính xác với những cấu hình phần cứng nhất định.
Mặt sau của một PC chỉ ra vô số các đầu nối giao diện cho việc gắn các thiết bị ngoại biên,
- Phân loại (tách biệt, cô lập) lỗi cấu hình
Những lỗi cấu hình có thể rất khó. Bạn có nhớ lại lỗi của phim vua sư tử ở bài 1. Đó là một vấn đề về cấu hình. Nếu bạn từng chơi một trò chơi hoặc sử dụng một chương trình đồ họa và màu sắc của nó đột nhiên rối loạn hay các mảnh cửa sổ lui về sau khi bạn rê chúng. Có lẽ bạn đã phát hiện ra lỗi cầu hình của thiết bị tiếp hợp hiển thị. Nếu bạn từng dành nhiều giờ (hay nhiều ngày) để cố gắng làm cho một chương trình cũ làm việc với chiếc máy in mới của mình, đó cũng có thể là một lỗi cấu hình.
Chú ý: Cách chắc chắn nhất để kết luận một lỗi chỉ là vấn đề cấu hình nào là thực hiện lại hoạt động đã gây ra vấn đề từng bước một trên một máy khác có cài đặt phần cứng hoàn toàn khác. Nếu lỗi không xuất hiện đó dường như chỉ là vấn đề cấu hình chỉ xuất hiện do phần cứng được sử dụng trong việc kiểm thử.
Giả sử rằng bạn kiểm thử phần mềm của mình trên một cấu hình duy nhất và phát hiện ra một vấn đề. Ai nên sửa lỗi này- đội của bạn hay nhà sản xuất phần cứng? Nó có thể sẽ trở thành câu hỏi đáng giá hàng triệu đô.
Trước hết bạn cần kiểm tra xem vấn đề nằm ở đâu. Đây thường là việc kiểm thử Dynamic white-box và nỗ lực diễn lại lỗi người lập trình. Một vấn đề cấu hình có thể xuất hiện với nhiều lí do, tất cả đều đòi hỏi ai đó phải kiểm tra mã kĩ lưỡng trong khi chạy phần mềm dưới các cấu hình khác nhau để tìm lỗi.
- Phần mềm của bạn có thể có lỗi xuất hiện dưới Broadclass của cấu hình. Ví dụ, chương trình thiệp mời của bạn làm việc tốt với các máy in laze nhưng không làm việc được với các máy in inkjet.
- Phần mềm của bạn có thể có một lỗi cụ thể với một cấu hính xác định. Nó không làm việc với máy in Okee Dokee Model BR549 Inkiet Deluxe.
- Ổ cứng hay các đĩa khởi động của nó có một lỗi mà chỉ xuất hiện có phần mềm của bạn. Có thể phần mềm của bạn là một nơi duy nhất dùng chỉ một cài đặt card hiển thị. Khi phần mềm của bạn được chạy bởi một card hình cụ thể, máy tính sẽ crash (tắt hỏng)
- Ổ cứng hay các đĩa khởi động có thể xuất hiện lỗi mà có thể được thấy bởi nhiều phần mềm khác nhau – dù có thể đó chỉ là trường hợp cá biệt xảy ra với máy của bạn, Ví dụ, nếu một đĩa in chuyên biệt luôn mặc định chế độ nháp và phần mềm in ảnh của bạn phải cài đặt chế độ chất lượng cao mỗi lần in.
Trong hai trường hợp đầu tiên, dường như khá dễ dàng để thấy rằng đội dự án của bạn có trách nhiệm phải sửa lỗi. Đó là vấn đề của bạn. Bạn nên sửa nó.
Trong hai trường hợp sau, mọi thứ có vẻ mơ hồ hơn. Hãy cho rằng lỗi là ở máy in và máy in đó thì lại là loại phổ biến nhất trên thế giới với hàng triệu người sử dụng.
Phần mềm của bạn thực sự phải làm việc với máy in đó. Có thể máy in cần tới vài tháng để giải quyết vấn đề (nếu nó thực sự làm). Vì vậy, đội của bạn cần phải thực hiện các thay đổi đối với phần mềm của mình, thậm chí khi phần mềm thực hiện tốt mà mọi thứ khi làm việc với lỗi.
Cuối cùng trách nhiệm của đội bạn là phải chỉ ra vấn đề dù nó nằm ở đâu. Khách hàng của bạn không quan tâm tại sao có lỗi và lỗi đó xảy ra thế nào, họ chỉ cần phần mềm mới để làm việc trên cấu hình thuộc về hệ thống của họ.
OF PURPLE FUZZ VÀ CẠC ÂM THANH
- Năm 1977 Microsoft cho ra sản phẩm Acti Mates và hỗ trợ phần mềm học CD-ROM cho trẻ em. Những búp bê hoạt cảnh này tương tác với phần mềm qua một radio hai chiều trong búp bê và một radio khác gắn với một PC
- Radio của PC kết nối với một giao diện ít được sử dụng trên hầu hết các tiếng được gọi là một bộ nối. Giao diện này được sử dụng cho các phím chơi nhạc và các nhạc cụ khác. Microsoft cho rằng bộ nối có thể là một lựa chọn tốt vì hầu hết mọi người chưa có các thiết bị nhạc. Điều này giống như một vật gì đó được cắm vào nó và sẵn sàng cho việc sử dụng với Acti mates radio.
- Suốt quá trình kiểm thử cấu hình, lượng lỗi điển hình được chỉ ra. Một số các vấn đề về card tiếng một số nằm ở phần mềm Acti Mates. Tuy nhiên có một lỗi mà có thể không bao giờ dừng lại kể cả khi đã bị phát hiện. Nhưng ít khi xuất hiện trong trường hợp PC chạy phần mềm sẽ chỉ khóa và đòi hỏi phải khởi động lại. Tất nhiên vấn đề chỉ xuất hiện với các card tiếng nổi tiếng nhất trên thị trường.
- Chỉ với vài tuần còn lại trong lịch trình, nỗ lực phối hợp sẽ được đưa ra để giải quyết vấn đề. Sau rất nhiều thời gian kiểm thử và xóa lỗi, lỗi đó được cô lập đối với phần cứng của cạc tiếng. Dường như bộ nối MIDI luôn có lỗi này nhưng do ít khi được sử dụng không ai có thể thấy được nó. Phần mềm Acti Mates đã chỉ ra nó là lần đầu tiên.
- Có rất nhiều tranh cãi và chỉ trích. Cuối cùng, nhà sản xuất card tiếng phải thừa nhận rằng có một vấn đề và hứa sẽ giải quyết nó trong phiên bản cập nhật của Driver thiết bị của nó. Microsoft đã đưa vào một số đĩa sửa lỗi trên CD-ROM Acti Mates và thực hiện những sự thay đổi với phần mềm trong nỗ lực hạn chế lỗi xuất hiện thường xuyên bất chấp tất cả những nỗ lực đó, những vấn đề có tính tương thích của card tiếng vẫn là lí do chính để người ta kêu gọi sự trợ giúp của sản phẩm.
b) Đánh giá công việc
Công việc về kiểm thử cấu hình có thể là một nhiệm vụ lớn. Giả sử rằng bạn đang kiểm thử một phần mềm game chạy dưới Microsoft Windows. Game này mang tính đồ họa cao, có nhiều hiệu ứng âm thanh cho phép nhiều người chơi cạnh tranh với nhau qua đường điện thoại và có thể in được các chi tiết game cho việc vạch kế hoạch chiến lược.
Ít nhất bạn cần đánh giá việc kiểm thử cấu hình với các card hình, card tiếng, modem và máy in khác nhau. Window Add New Hardwire Wizard (xem hình 5.4) cho phép bạn chọn phần cứng từ một trong số các danh mục này và 25 danh mục khác.
Dưới mỗi danh mục phần cứng là tên các nhà sản xuất và các mẫu khác nhau (xem hình 5.5), Hãy giữ trong đầu suy nghĩ, chỉ có các mẫu có hỗ trợ được mới gắn vào Windows. Nhiều mẫu khác cung cấp chính cái đĩa cài đặt với phần cứng của chúng.
Nếu bạn quyết định trình bày một cuộc kiểm thử cấu hình toàn diện và đầy đủ, hãy kiểm tra mỗi thứ khả thi rồi kết hợp mẫu, bạn sẽ có một nhiệm vụ lớn đang chờ đợi ở phía trước.
Hộp thoại microsoft Add New Hardware cho phép bạn bổ sung một phần cứng vào cấu hình hiện tại trong PC của mình.
Mỗi loại phần cứng có vô số nhà sản xuất và mẫu
Như vậy có tới xấp xỉ 336 card hiển thị, 210 card tiếng, 1500 modem và 1200 máy in. Lượng phối hợp là 336x210x1500x1200 cho tổng số hàng triệu cách. (Quá nhiều để xem xét)
Nếu bạn giới hạn việc kiểm thử của mình để loại ra các phương pháp kết hợp chỉ kiểm thử từng card trong khoảng 30 phút cho mỗi cấu hình, bạn sẽ mất tới cả năm. Hãy nhớ rằng chỉ có một card phù hợp với các cấu hình. Thường thì không phổ biến lắm khi lỗi chạy được qua 2 hoặc 3 cuộc kiểm tra cấu hình khi sản phẩm được tung ra.
Câu trả lời đối với sự rắc rối này là “phân chia lớp tương đương”. Bạn cần chỉ ra một cách để hạn chế các tập hợp cấu hình khả thi lớn đến chỉ những cấu hình gây vấn đề nhất. Bạn sẽ giả định sự rủi ro khi không kiểm thử tất cả nhưng đó chính là kiểm thử phần mềm.