Projektowanie i implementowanie źródła, usterki i możliwości śledzenia jakości
W kontekście metodyki DevOps możliwość śledzenia odnosi się do możliwości śledzenia zmian i akcji w całym cyklu tworzenia oprogramowania. Ta koncepcja dotyczy różnych aspektów tego cyklu życia, w tym zmian w kodzie źródłowym, rozwiązywaniu usterek i utrzymaniu kontroli jakości. Jego implementacja jest niezbędna do zapewnienia niezawodności, konserwacji i zadowolenia klientów.
Możliwość śledzenia źródła umożliwia deweloperom śledzenie zmian kodu w scenariuszach współpracy. Możliwość śledzenia usterek ułatwia identyfikowanie, określanie priorytetów i rozwiązywanie problemów z kodem źródłowym. Możliwość śledzenia jakości zapewnia, że oprogramowanie spełnia standardy jakości i oczekiwania użytkowników, łącząc działania testowe, metryki i opinie na potrzeby prac programistycznych.
Projektowanie
Na wysokim poziomie możliwość śledzenia jest niezależna od narzędzi, ale sposób podejścia zależy od aspektu cyklu projektowania oprogramowania, który ma być przeznaczony dla celów. Podobnie zagadnienia dotyczące celów i projektowania różnią się między kodem źródłowym, usterkami i możliwościami śledzenia jakości.
W szczególności możliwość śledzenia źródła obejmuje śledzenie historii zmian kodu, w tym osób, które dokonały zmian, kiedy zostały wprowadzone, oraz cel zmian. Ułatwia przeglądy kodu, debugowanie i zrozumienie ewolucji bazy kodu w czasie. Z punktu widzenia projektowania ta funkcja ściśle wiąże się z rozgałęzianiami i scalania strategii, które organizują prace programistyczne. Deweloperzy tworzą gałęzie funkcji dla nowej pracy, zatwierdzają zmiany w swoich gałęziach i przesyłają żądania ściągnięcia do przeglądu. W tym momencie ich rówieśnicy przeprowadzają przeglądy kodu i po pomyślnym zakończeniu zatwierdzają zmiany, które mają zostać scalone z gałęzią główną.
Możliwość śledzenia błędów obejmuje śledzenie usterek lub wad zgłoszonych podczas testowania lub produkcji z powrotem do głównej przyczyny w bazie kodu. Często opiera się również na przechwytywaniu informacji, takich jak szczegóły raportu o błędach, kroki odtwarzania, składników, których dotyczy problem, i powiązanych zmian kodu. Jego cele obejmują efektywne ustalanie priorytetów i rozwiązywanie usterek w celu rozwiązania problemów z brakami oprogramowania.
Możliwość śledzenia jakości obejmuje śledzenie działań związanych z jakością i artefaktów w całym procesie tworzenia oprogramowania. Obejmuje to łączenie metryk jakości, przypadków testowych, wyników testów i innych działań zapewniających jakość z wymaganiami, scenariuszami użytkowników i zmianami kodu. Możliwość śledzenia jakości pomaga ocenić wpływ zmian oprogramowania na jego jakość i zidentyfikować obszary poprawy.
Implementowanie możliwości śledzenia
Szczegóły implementacji śledzenia różnią się w pewnym zakresie w zależności od platformy DevOps.
Możliwość śledzenia źródła
Ponieważ zarówno usługi GitHub, jak i Azure DevOps obsługują usługę Git jako mechanizm kontroli źródła, do obu z nich stosuje się wiele technik śledzenia źródła. W rezultacie zaimplementowanie możliwości śledzenia kodu źródłowego w obu przypadkach obejmuje wdrożenie najlepszych rozwiązań, takich jak pisanie opisowych komunikatów zatwierdzeń, używanie dobrze zdefiniowanej strategii rozgałęziania i wymaganie żądań ściągnięcia na potrzeby przeglądów kodu.
Istnieją jednak również pewne różnice między nimi. Implementowanie możliwości śledzenia źródła w repozytoriach GitHub zwykle obejmuje użycie funkcji, takich jak reguły ochrony gałęzi, aby wymusić procesy przeglądu kodu i upewnić się, że zmiany są przeglądane przed scaleniem. Integracja usługi GitHub z problemami umożliwia łączenie zmian kodu z odpowiednimi problemami, zapewniając możliwość śledzenia między modyfikacjami kodu a wymaganiami projektu. Usługa Azure DevOps oferuje zasady gałęzi i zasady żądań ściągnięcia w celu wymuszania kontroli jakości kodu i łączenia zmian elementów roboczych, co umożliwia śledzenie zmian kodu oraz scenariuszy lub zadań użytkownika. Ponadto usługa Azure DevOps zapewnia bardziej rozbudowaną integrację z systemem śledzenia elementów roboczych, co umożliwia uzyskanie bardziej szczegółowych możliwości śledzenia i raportowania w porównaniu z śledzeniem problemów w usłudze GitHub.
Możliwość śledzenia błędów
W usłudze Azure DevOps śledzenie błędów jest łatwiejsze za pośrednictwem usługi Azure Boards, gdzie usterki są śledzone jako elementy robocze i mogą być połączone ze zmianami kodu, zatwierdzeniami i żądaniami ściągnięcia. Usługa Azure Boards umożliwia tworzenie niestandardowych przepływów pracy na potrzeby zarządzania usterkami, definiowanie stanów, takich jak Nowe, Aktywne, Rozwiązane i Zamknięte, zapewniając wgląd w cykl życia usterki. Ponadto usługa Azure DevOps oferuje zaawansowaną integrację między usterkami i innymi elementami roboczymi, umożliwiając śledzenie błędów i scenariuszy użytkownika, zadań i epików.
W usłudze GitHub śledzenie błędów opiera się na integracji między problemami i zmianami kodu, gdzie błędy zgłaszane jako problemy mogą być połączone z zatwierdzeniami i żądaniami ściągnięcia. Funkcja GitHub Actions umożliwia implementowanie dostosowywalnych przepływów pracy, w tym tych związanych z możliwością śledzenia błędów. Za pomocą funkcji GitHub Actions można zdefiniować przepływy pracy, które automatyzują procesy wyzwalane przez zdarzenia w repozytorium GitHub, takie jak tworzenie lub modyfikowanie problemów. Dzięki temu można tworzyć niestandardowe przepływy pracy do zarządzania usterkami, w tym definiować stany, przypisywać zadania i automatyzować akcje na podstawie określonych warunków. Efektywnie, podczas gdy funkcja GitHub Actions zapewnia elastyczność automatyzacji przepływu pracy, zwykle wymagają one większego nakładu pracy i dostosowania w porównaniu z wbudowanymi funkcjami usługi Azure Boards w usłudze Azure DevOps.
Możliwość śledzenia jakości
W usłudze Azure DevOps można zarządzać śledzeniem jakości przy użyciu planów testów, które umożliwiają zespołom organizowanie, wykonywanie i śledzenie przypadków testowych. Plany testów zapewniają kompleksowe metryki jakości, w tym współczynniki powodzenia przypadków testowych, wyniki przebiegu testu i raporty pokrycia testów. Ponadto usługa Azure DevOps oferuje integrację z narzędziami pokrycia kodu w celu mierzenia pokrycia testów i identyfikowania obszarów bazy kodu, które wymagają dodatkowego testowania.
Usługa GitHub oferuje podobne funkcje za pośrednictwem funkcji GitHub Actions, umożliwiając zespołom automatyzowanie różnych typów testów, takich jak testy jednostkowe, testy integracji i kompleksowe testy. Ponadto funkcja GitHub Actions zapewnia elastyczność konfigurowania przepływów pracy testowych i integracji z narzędziami do testowania innych firm, ale zwykle wymagają dodatkowej konfiguracji, aby osiągnąć ten sam poziom kompleksowych metryk jakości i raportowania pokrycia testów jako plany testów usługi Azure DevOps.