Kontekst:
Mam skomplikowany produkt. Serwer i jakieś małe klienciki zbierające dane w C++.
Dane są prezentowane użytkownikowi przez stronę www - front-end wykonany nodejs ....
QA team dostarczyło testy, które weryfikują wszystko razem - bardzo zasobo chłonne. Czasowo jest około 2h.
Testy jednostkowe są w miarę szybkie: backend 2-3 minuty, front-end poniżej minuty.
Są jeszcze integracyjne tylko dla elementów backend i te zajmują już dużo czasu: 2h dla każdej konfiguracji (konfiguracje uruchamiane równolegle i wymagają tylko jednej maszyny).
Problem
Zespół od front-endu modyfikuje coś i psuje testy QA bo zmieniają się id
elementy UI. Napisane python + selenium.
Teraz szukam dobrego sposobu, by jak front-end coś zmieni to Jenkins będzie wstanie szybko zweryfikować, że UI testy nie zostaną popsute.
Najlepiej bez uruchamiania tych testów, bo testy od QA wymagają +10 maszyn i nie ma ich na tyle, żeby przełknąć normalny dzienny przerób Pull Request'ów (PR).
Pytanie
Szukam sposobu, by developer front-endu dostał szybko po łapkach jeśli jego zmiany powodują trudności z odnalezieniem elementu UI.
Tak, żeby poprawił testy UI przed weryfikacją PR.
Uruchamianie testów UI dla każdego PR byłoby zbyt bolesne (za mało zasobów i zje dużo czasu)
Szukam gotowych rozwiązań.
Trudno mi dostarczyć więcej szczegółów, bo odpowiadam za backend (C++) oraz Jenkinsa (groovy), który robi weryfikację Pull Request'ów (dlatego problem trafił miedzy innymi do mnie).