| Termin | Definicja |
|---|---|
| Weryfikacja typu danych | Weryfikacja typu danych sprawdza zgodność wartości z oczekiwanym formatem przed jej dalszym przetworzeniem. Na czym polega sprawdzanie typu danychWeryfikacja typu danych polega na ustaleniu, czy wartość ma postać zgodną z oczekiwaniami programu. Oczekiwaniem może być liczba całkowita, liczba zmiennoprzecinkowa, tekst, wartość logiczna, data, adres e-mail, identyfikator urządzenia albo zbiór elementów określonego rodzaju. Sama kontrola typu nie zawsze sprawdza jeszcze poprawność znaczeniową wartości. Na przykład tekst „123” może zawierać cyfry, ale w wielu językach programowania nadal jest tekstem, a nie liczbą całkowitą. Dopiero jawna konwersja, taka jak zamiana napisu na liczbę, zmienia sposób interpretowania tej wartości. Sprawdzanie typu może odbywać się podczas kompilacji lub w czasie działania programu. W językach ze statycznym typowaniem część niezgodności jest wykrywana przed uruchomieniem aplikacji, na przykład próba przekazania tekstu do funkcji wymagającej liczby. W językach z dynamicznym typowaniem typ wartości jest często kontrolowany dopiero podczas wykonywania konkretnej instrukcji. Program może wtedy zaakceptować wartość, dokonać konwersji albo zgłosić błąd. Prawidłowa walidacja powinna jasno rozróżniać brak wartości, pusty tekst, wartość o nieprawidłowym typie oraz wartość poprawnego typu, lecz znajdującą się poza dopuszczalnym zakresem. Typy danych w formularzach i plikach wymianyW praktycznych aplikacjach wartości pochodzące z klawiatury, formularza, pliku konfiguracyjnego lub urządzenia wejściowego są często odczytywane jako tekst. Pole przeznaczone na liczbę może więc zwrócić napis „42”, mimo że dalsze obliczenia wymagają liczby całkowitej. Program powinien najpierw sprawdzić, czy cały wpis można poprawnie przekształcić, a następnie zweryfikować zakres, na przykład czy liczba nie jest ujemna, jeśli opisuje ilość pamięci lub liczbę elementów. Niedopuszczalne jest bezwarunkowe konwertowanie danych, ponieważ niektóre biblioteki zaokrąglają wartości, ignorują końcową część tekstu albo zgłaszają wyjątek. Podobne zasady dotyczą formatów wymiany danych. W strukturze JSON występują między innymi obiekty, tablice, napisy, liczby, wartości logiczne oraz wartość null. Odczyt dokumentu jako poprawnego składniowo nie oznacza jeszcze, że jego zawartość odpowiada wymaganiom aplikacji. Pole „enabled” może mieć wartość logiczną true lub false, natomiast tekst „true” jest innym typem. Pole zawierające listę urządzeń powinno być tablicą, a każdy jej element powinien mieć przewidzianą strukturę. Weryfikacja na granicy systemu ogranicza ryzyko, że błędna wartość przejdzie do modułu konfiguracji, sterownika, procesu aktualizacji albo interfejsu użytkownika. Konsekwencje niezgodności typu podczas pracy programuNieprawidłowy typ może powodować zarówno widoczny komunikat błędu, jak i ciche zaburzenie działania. Jeśli aplikacja potraktuje tekst jako liczbę bez poprawnego sprawdzenia, obliczenie może zakończyć się wyjątkiem. Jeżeli natomiast wartość zostanie automatycznie zamieniona na inny typ, wynik może być pozornie poprawny, lecz utracić część informacji. Przykładem jest konwersja dużej liczby do typu o mniejszym zakresie albo zapis liczby całkowitej w formacie zmiennoprzecinkowym, w którym nie wszystkie wartości całkowite są reprezentowane dokładnie. Problem może pojawić się również wtedy, gdy program oczekuje pojedynczego obiektu, a otrzymuje tablicę lub wartość null. W diagnostyce warto ustalić miejsce, w którym typ został zmieniony albo utracony. Należy porównać wartość wejściową z definicją pola, sprawdzić komunikat wyjątku, prześledzić konwersje i zweryfikować dane przekazywane pomiędzy modułami. Pomocne jest logowanie nazwy pola, rozpoznanego typu i bezpiecznej reprezentacji wartości, bez zapisywania całej zawartości wrażliwych formularzy. Naprawa może polegać na korekcie formularza, zmianie parsera, dodaniu jawnego rzutowania, odrzuceniu niepoprawnego wpisu albo dostosowaniu dokumentacji interfejsu. Testy powinny obejmować także pusty wpis, wartość null, typ zastępczy, liczbę poza zakresem oraz dane o poprawnej składni, lecz błędnym typie. Weryfikacja typu danych w serwisowaniu sprzętuNa laptopie lub komputerze PC kontrola typu danych może mieć znaczenie przy konfiguracji systemu, instalacji sterowników, odczycie parametrów podzespołów i działaniu narzędzi diagnostycznych. Program serwisowy może oczekiwać na przykład liczbowego czasu testu, tekstowej nazwy urządzenia albo wartości logicznej określającej wykonanie dodatkowego skanowania. Jeżeli plik ustawień zawiera inną postać wartości, narzędzie może pominąć opcję, przerwać test lub zastosować wartość domyślną. Dlatego podczas analizy problemu warto sprawdzić nie tylko sam komunikat, lecz także format pliku konfiguracyjnego, wersję programu, sposób importu ustawień i zgodność danych przekazywanych między aplikacjami. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i podzespołów, dlatego w ramach diagnostyki można przeanalizować konfigurację oprogramowania, błędy narzędzi oraz nieprawidłowe dane powodujące problemy z działaniem systemu. Weryfikacja typu danych jest przy tym jednym z elementów szerszego rozpoznania: nie zastępuje sprawdzenia pamięci operacyjnej, dysku, temperatur, sterowników ani stanu systemu plików. Dopiero zestawienie wyników tych kontroli pozwala rozstrzygnąć, czy źródłem problemu jest błędna wartość wejściowa, uszkodzony plik ustawień, niezgodność wersji programu, czy awaria sprzętowa wpływająca na odczyty. |