Chociaż jestem profesjonalnym programistą, nigdy nie zostałem formalnie przeszkolony w zakresie inżynierii oprogramowania. Ponieważ często tu odwiedzam i SO, zauważyłem trend pisania testów jednostkowych, gdy tylko jest to możliwe, a ponieważ moje oprogramowanie staje się bardziej złożone i wyrafinowane, automatyczne testowanie uważam za dobry pomysł na pomoc w debugowaniu.
Jednak większość mojej pracy polega na pisaniu złożonego kodu SQL, a następnie przetwarzaniu danych wyjściowych w jakiś sposób. Jak napisałbyś test, aby upewnić się, że na przykład SQL zwraca prawidłowe dane? Powiedzmy, że jeśli dane nie były pod twoją kontrolą (np. Systemu innego producenta), w jaki sposób możesz skutecznie przetestować swoje procedury przetwarzania bez konieczności ręcznego pisania ryz atrapy danych?
Najlepszym rozwiązaniem, jakie mogę wymyślić, jest przeglądanie danych, które łącznie obejmują większość przypadków. Następnie mogę połączyć te widoki z moim SQL, aby zobaczyć, czy zwraca poprawne rekordy i ręcznie przetworzyć widoki, aby zobaczyć, czy moje funkcje itp. Robią to, co powinny. Mimo to wydaje się nadmierny i płatkowaty; w szczególności znalezienie danych do przetestowania ...