Zagadka testerska II - etap 1

Zagadka testerska II - etap 1
Wyobraźmy sobie, że testujemy aplikację, która bada równość płac w naszej instytucji. Jak zaprojektować testy, aby zweryfikować czy aplikacja działa?

Nasza pierwsza zagadka cieszyła się tak dużym zainteresowaniem, że postanowiliśmy rozpocząć cykl. Tym razem w troszeczkę innej formule, z podziałem na etap 1 i 2 oraz z wyróżnieniem osób, które pokażą najlepsze, testerskie podejście.

W etapie 1 szukamy przypadków testowych, scenariuszy i zbiorów danych, które powinny zostać użyte, aby zweryfikować poprawność działania aplikacji służącej do generowania raportu o równości płac. Poniżej znajdują się podstawowe ogólne wytyczne na aplikację, które powinny stanowić podstawę do projektowania testów.

Wyobraźmy sobie, że istnieje aplikacja do której wprowadzając dane o płacach pracowników, ich płci, wieku, wykształceniu oraz innych wybranych cechach uzyskujemy oszacowanie, na ile różnice w płacach mężczyzn i kobiet wynikają z faktycznych różnic między nimi – a na ile z polityki płacowej firmy. Narzędzie to umożliwia firmom, instytucjom, organizacjom sprawdzenie, czy istnieją w nich nierówności płacowe pomiędzy kobietami i mężczyznami.

Aplikacja sprawdzi się przy ocenie luki płacowej w organizacjach zatrudniających przynajmniej 100 pracowników. Można z niej skorzystać, zachowując pełną anonimowość.

Aplikacja stosuje nowatorski algorytm, który pozwala w maksymalnie wiarygodnym stopniu obliczyć, na ile równa jest polityka płacowa instytucji. Algorytm dla każdej kobiety wśród pracowników danej instytucji odnajduje jednego lub więcej „statystycznego bliźniaka” wśród mężczyzn. Osoba, którą określamy mianem „statystycznego bliźniaka” to ktoś o identycznych cechach jak dana kobieta –takim samym wieku, wykształceniu, stanowisku oraz doświadczeniu w realizacji obowiązków. Jeśli taka osoba nie istnieje (tj. dana kobieta jest pracownikiem o wyjątkowych charakterystykach), algorytm nie weźmie pod uwagę jej płacy do obliczenia wskaźnika równości płac. Znalazłszy jednego lub więcej „statystycznego bliźniaka”, algorytm oblicza średnią płacę wśród nich i porównuje ją do wynagrodzenia uzyskiwanego przez tę konkretną pracowniczkę. To porównanie w niektórych przypadkach może wypaść na korzyść mężczyzn, a w innych przypadkach na korzyść kobiet. Po przeprowadzeniu takiej analizy dla każdej kobiety w danej instytucji, algorytm dysponuje informacją o tym, jakie byłoby ich hipotetyczne wynagrodzenie, gdyby nie były kobietami. To hipotetyczne wynagrodzenie porównywane jest z faktyczną strukturą ich wynagrodzeń. Im większa liczba pracowników, tym łatwiej będzie algorytmowi odnaleźć „statystycznych bliźniaków” dla każdej z zatrudnionych pracowniczek, więc tym bardziej wiarygodne będą uzyskane dane na temat równości płac. Przy dużej liczbie pracowników, aplikacja może potrzebować kilku minut, by podać wyniki. Po zakończeniu pracy, aplikacja przedstawia użytkownikowi cztery wielkości. Pierwszą z nich jest informacja, jak mają się do siebie średnie wynagrodzenia mężczyzn i kobiet zatrudnionych w danej instytucji. Tę samą daną użytkownik mógłby uzyskać samodzielnie, w oparciu o listy płac. Drugą wielkością jest informacja o tym, jak mają się do siebie wynagrodzenia kobiet i identycznych mężczyzn zatrudnionych w danej instytucji. To właśnie ta miara wskazuje, czy stosowana polityka płacowa zapewnia wypłacanie równego wynagrodzenia za równą płacę. Jak wskazano powyżej, może się okazać, że dla części kobiet nie znaleziono „statystycznego bliźniaka”, a część mężczyzn nie jest „statystycznym bliźniakiem” dla żadnej z kobiet. Uzyskana informacja o równości płac obejmuje jednak tylko tych pracowników, dla których udało się znaleźć analogicznych pracowników przeciwnej płci. Dlatego dodatkowo aplikacja przedstawia także informacje o procencie pominiętych pracowniczek i pracowników.

Aplikacja może działać przy dowolnie zdefiniowanych przez użytkownika  danych. Konieczne   jest   jednak   zapewnienie   kilku podstawowych zmiennych. Im więcej i lepszej jakości dane, tym większą wiarygodność  będą  miały uzyskane wyniki. Po pierwsze, trzeba przygotować dane o wynagrodzeniach pracowników. Dane mogą dotyczyć wynagrodzenia zasadniczego i elastycznych składników wynagrodzeń, jeśli instytucja dysponuje takim zestawieniem. Mogą także obejmować tzw. osobowy fundusz płac oraz bezosobowy fundusz płac (tego typu zestawienie powinno być dostępne w większości instytucji). Dane o wynagrodzeniach można także pozyskać z rocznego zestawienia na potrzeby obliczenia podatku dochodowego od osób fizycznych  (czyli wartości wprowadzanych przez pracodawcę do formularza PIT, wówczas będą to łączne wynagrodzenia). Mogą być to dane miesięczne lub roczne, w dowolnej walucie, ważne jednak, żeby i ich częstotliwość i waluta były takie same dla wszystkich pracowników. Ponieważ niektórzy pracownicy zatrudnieni są w niepełnym wymiarze czasu pracy, konieczne jest także wprowadzenie do aplikacji kolumny, która dla każdego pracownika określa, jakiej części etatu dotyczy jego wynagrodzenie (w  procentach). Dzięki temu, przeliczenie na tzw. ekwiwalent pełnego etatu odbywa się w aplikacji i użytkownik nie musi się tym kłopotać. Aplikacja pozwala na wprowadzenie równocześnie dwóch zestawów danych o wynagrodzeniach, ale konieczne jest posiadanie arkusza kalkulacyjnego z przynajmniej jedną miarą wynagrodzeń. Po drugie, należy wprowadzić informację o tym, czy dany pracownik jest kobietą czy mężczyzną. Dane można przygotować np. jako kolumnę ze słowami „mężczyzna” i „kobieta”. Można także wprowadzić je w postaci kolumny 0 i 1. Aplikacja tak czy inaczej przekoduje wprowadzone dane na 1 dla kobiet i 0 dla mężczyzn. Po trzecie, konieczne jest wprowadzenie informacji o zajmowanym przez pracownika stanowisku pracy. W wielu instytucjach funkcjonuje system hierarchicznego podporządkowania stanowisk. Awans w tej hierarchii wiąże się nie tylko z większą odpowiedzialnością, ale także zazwyczaj ze ścieżką podwyżek i dodatków funkcyjnych. Dane na ten temat można wprowadzić do aplikacji Równość płac w dowolnej postaci. Jeśli w instytucji wprowadzono wartościowanie stanowisk i znane są poziomy stanowisk  (tzw.  grade'y) dla wszystkich pracowników, można wprowadzić  po  prostu  te  miary.  Jeśli  stanowiska  mają wystandaryzowane nazwy, można wprowadzić właśnie je. Nie ma konieczności zawierania w tej informacji wskazania dotyczącego poziomu danego stanowiska w instytucji, bo algorytm będzie poszukiwał „statystycznych bliźniaków” tylko wśród pracowników o takim samym stanowisku. Oznacza to jednak, że nie jest wskazane wprowadzanie zbyt szczegółowego podziału na stanowiska, szczególnie jeśli w instytucji pracuje niewielu pracowników. Alternatywnym sposobem uwzględnienia informacji o stanowiskach jest podział pracowników wg działów lub taki, który uwzględnia, czy pracownik ma kontakt z klientem, czy też jego zadania mają raczej charakter wspierający (ang. back officei front office, lub core businessi support). Aplikacja nie rozpocznie szacowania, dopóki nie zostaną wprowadzone dane co najmniej na temat płci pracowników, ich wynagrodzeń oraz zajmowanych stanowisk.  W dalszej kolejności aplikacja pozwala wprowadzić także informacje o innych charakterystykach pracowników. Im lepszej jakości będą te dane, tym bliższe rzeczywistości staje się pojęcie „statystycznego bliźniaka”, a zatem bardziej wiarygodna analiza realizacji zasady równości w polityce płacowej. Dane o wieku pracownika wprowadza się do aplikacji Równość płac poprzez wprowadzenie daty urodzenia pracownika. Aplikacja sama na tej podstawie obliczy, ile lat mają wszyscy pracownicy i statystycznych bliźniaków będzie dopasowywać tylko spośród osób w zbliżonym przedziale wieku. Data urodzenia może być pełną datą w formacie DD-MM-RRRR lub samym rokiem. By poza efektem wieku uwzględnić także czynniki powiązane z doświadczeniem u danego pracodawcy, poza informacją o dacie urodzenia, do aplikacji można także wprowadzić dane o dacie  zatrudnienia  danego  pracownika.  Aplikacja  sama  na  tej podstawie obliczy, jak długo dany pracownik związany jest z instytucją i w procesie szukania „statystycznych bliźniaków” uwzględni także tę informację. Z wynagrodzeniami silnie powiązane  jest wykształcenie pracowników. Dane na ten temat można wprowadzić do aplikacji w dowolnej postaci. Dopuszczalne warianty obejmują na przykład kolumnę z nazwami poziomu wykształcenia, klasyfikację opartą o liczby czy kategoryzacje (w tym także podział 0/1), itp. Nie ma konieczności, by zachować w nazewnictwie jakąkolwiek hierarchię, ponieważ algorytm będzie szukał „statystycznych bliźniaków” tylko wśród osób o takim samym poziomie wykształcenia. Jeśli w danej instytucji nie ma wszystkich tych danych, nic nie stoi na przeszkodzie, by ocenić równość polityki płac w odniesieniu do węższego zestawu cech pracowników. Trzeba jednak pamiętać, że w takiej sytuacji kategoria „statystycznego bliźniaka” staje się znacznie bardziej umowna i w tym sensie wnioski z przeprowadzonej analizy należy traktować z większą ostrożnością.

Pytanie etapu 1 brzmi: jakie testy lub zestawy danych testowych musimy zaprojektować aby zweryfikować poprawność działania aplikacji?

Swoje propozycje rozwiązań możecie przekazywać przez komentarze do artykułu bądź, też w komentarzach w mediach społecznościowych. Na końcu wskażemy osobę, która w swoich odpowiedziach zaprojektowała testy, które najpełniej pokrywają aplikację.

Zadanie w etapie 1 trwa do końca dnia 17.10.2019.

Etap 2 będzie przedstawiony po zakończeniu 1.

Czekamy na Wasze propozycje.