5.4 Zarządzanie konfiguracją Flashcards
Na czym polega zarządzanie konfiguracją (ang. Configuration Management) w kontekście testowania?
Zarządzanie konfiguracją to dyscyplina polegająca na identyfikowaniu, kontrolowaniu i śledzeniu produktów pracy (np. planów testów, strategii testów, warunków testowych, przypadków testowych, skryptów testowych, wyników testów, dzienników testów i raportów z testów), które traktuje się jako pozycje konfiguracyjne (ang. configuration items).
W przypadku złożonych pozycji konfiguracyjnych, takich jak środowiska testowe, zarządzanie konfiguracją rejestruje ich elementy składowe, powiązania między nimi oraz poszczególne wersje.
Jeśli dana pozycja konfiguracyjna zostanie zatwierdzona do testów, staje się ona bazową wersją (ang. baseline). Jaki proces musi zajść, aby wprowadzić w niej zmiany?
Konieczne jest przeprowadzenie formalnego procesu kontroli zmian (ang. formal change control process).
Dlaczego zarządzanie konfiguracją prowadzi rejestr zmian w pozycjach konfiguracyjnych po utworzeniu nowej bazowej wersji?
Dzięki temu w razie potrzeby można cofnąć się do poprzedniej bazowej wersji, aby móc odtworzyć wcześniejsze wyniki testów.
Jakie dwa kluczowe aspekty musi zapewnić zarządzanie konfiguracją, aby właściwie wspierać proces testowania?
1. Utrzymanie śledzenia powiązań w całym procesie testowym: wszystkie pozycje konfiguracyjne (w tym elementy testowe i powiązane z nimi materiały) muszą mieć unikalne identyfikatory, być wersjonowane i śledzone pod kątem zmian oraz powiązane z innymi pozycjami konfiguracyjnymi, tak by nie utracić spójności i możliwości prześledzenia całej historii.
2. Jednoznaczne odniesienia: wszelkie elementy dokumentacji i elementy oprogramowania muszą być zdefiniowane w sposób klarowny i unikatowy we wszystkich dokumentach testowych.
Czym zazwyczaj jest realizowane ciągłe integrowanie (ang. continuous integration), ciągłe dostarczanie (ang. continuous delivery), ciągłe wdrażanie (ang. continuous deployment) i powiązane z nimi testowanie?
Zwykle stanowi to element zautomatyzowanego potoku DevOps (ang. DevOps pipeline), w którym z reguły funkcjonuje również zautomatyzowane zarządzanie konfiguracją (ang. automated Configuration Management).