how automate repetitive qa tasks using excel macros
Ten szczegółowy przewodnik dotyczący nastawienia makroekonomicznego do zapewniania jakości wyjaśnia, jak zautomatyzować powtarzalne zadania kontroli jakości za pomocą makr programu Excel z przykładami i zrzutami ekranu arkuszy programu Excel:
Potrzeba automatyzacji w dzisiejszym świecie jest jednym z podstawowych i rosnących wymagań. Dziś każdy szuka czegoś, co ułatwi mu pracę lub utrudni rutynową pracę.
W dzisiejszych czasach nikt nie chce odwiedzać mobilnego sklepu, stać w kolejkach, aby naładować telefon, wygodnie jest nigdzie nie odwiedzać fizycznie, ale naładować telefon online w ułamku sekundy.
Począwszy od płacenia rachunków za media za pośrednictwem bankowości internetowej, rezerwacji i śledzenia taksówki online, kupowania rzeczy online w różnych witrynach eCommerce po korzystanie z różnych zautomatyzowanych urządzeń, takich jak pralki, kuchenki mikrofalowe, gejzery i stale ewoluujące smartfony itp., Dzisiejszy świat jest naprawdę. pragnienie inteligentnych i zautomatyzowanych produktów w postaci usług lub gadżetów.
W tym artykule nie będziemy omawiać użycia żadnego narzędzia do automatyzacji ani niczego związanego ze sztuczną inteligencją lub uczeniem maszynowym, ale skupimy się na zwykłym wykorzystaniu programu Excel do automatyzacji codziennych rutynowych zadań kontroli jakości.
Czego się nauczysz:
- QA's Macro Mindset
- Szybkie ustawienie kontekstu
- Przykładowe zastosowanie nr 1
- Przykładowe zastosowanie nr 2
- Przykładowe zastosowanie nr 3
- Przykładowe zastosowanie nr 4
- Kod VBA (makro) dla arkusza szacunków
- Kod VBA (makro) dla arkusza wykresów
- Sposoby wykonania makra
- Dodaj przycisk kontrolny Formularze w programie Excel
- Wniosek
QA's Macro Mindset
Testerzy ręczni zwykle myślą, że jako tester ręczny nie mam nic wspólnego z żadną techniczną kwestią lub innymi słowy, „umiejętność kodowania to nie moja bajka”. To prawdopodobnie zły sposób myślenia, który może zatrzymać nasz rozwój jako inżynierów.
Ręczna kontrola jakości obejmuje wiele codziennych zadań, które mogą być powtarzalne w ramach tego samego przepływu pracy. Kontrola jakości może bardzo dobrze zidentyfikować takie zadania i zautomatyzować je za pomocą makr programu Excel i / lub formuły.
Może to pomóc na dwa sposoby:
- Zmniejsza czas poświęcony na wysiłki ręczne.
- Inspiruje również dział kontroli jakości do uczenia się i przystosowywania się do logicznego myślenia i podnoszenia umiejętności na froncie technicznym.
Można zautomatyzować wszystkie wymienione poniżej fazy testowania:
- Planowanie i szacowanie testów.
- Projektowanie testów lub przygotowanie przypadków testowych.
- Aktualizacja statusu wykonania testu.
- Raport testowy i tworzenie metryk.
Szybkie ustawienie kontekstu
# 1) Excel zapisany z. Rozszerzenie xlsxm to program Excel z obsługą makr.
#dwa) Aby włączyć makro w programie Excel, wybierz Plik -> Opcje -> Centrum zaufania -> Ustawienia Centrum zaufania -> Ustawienia makr -> Wybierz przycisk opcji „Włącz wszystkie makra” i zaznacz pole wyboru „Ufaj dostępowi do modelu obiektowego projektu VBA”. Kliknij OK.
# 3) Wybierz menu Widok -> Makra -> Rejestruj makra -> Wykonaj jakąś czynność i Zatrzymaj makra . Możesz edytować makro i przeglądać kod VBA zapisany w pliku Edytor VBA okno. Podobnie możesz jawnie dodać swoje kody, aby utworzyć makro.
# 4) Przyjrzymy się niektórym przykładom takich powtarzalnych zadań, które mogą być dobrymi kandydatami do automatyzacji za pomocą makr / formuł programu Excel.
Przykładowe zastosowanie nr 1
Pod koniec każdej fazy funkcjonalnej należy zidentyfikować kilka przypadków testowych do regresji z zestawu funkcjonalnego. Jest to proces, którego należy przestrzegać w każdym sprincie lub iteracji.
Rozwiązanie
Aby zmniejszyć wysiłek związany z identyfikacją i ręcznym tworzeniem zestawu regresji, można zaimplementować poniższy innowacyjny proces.
- Można utworzyć arkusz z przypadkami testów funkcjonalnych z dodatkową kolumną do oznaczania przypadków testowych / scenariuszy jako Tak / Nie dla regresji.
- Następnie utwórz makro dla tego samego, tak aby po uruchomieniu makra wszystkie przypadki testowe / scenariusze z regresją oznaczoną jako „Tak” zostały skopiowane do innego arkusza.
- W ten sposób pozwoli to uniknąć dodatkowego ćwiczenia polegającego na przejrzeniu wszystkich funkcjonalnych przypadków testowych pod koniec sprintu, a następnie włożeniu dodatkowego wysiłku w pobranie każdego przypadku testowego do zestawu regresji.
Próbny
- Pierwszy arkusz „FunctionalTestScenarios” zawiera wszystkie scenariusze testów funkcjonalnych / przypadki testowe.
- Jest dodatkowa kolumna „Uwzględnić w zestawie regresji?” dodane na końcu kolumn testowych w celu zaznaczenia „Tak” lub „Nie” poprzez określenie, czy każdy ze scenariuszy testowych musi być uwzględniony w zestawie regresji.
- Istnieje drugi arkusz utworzony jako „RegressionSuite” a to automatycznie pobierze wszystkie scenariusze testów regresji za pośrednictwem makra.
- CTRL + SHIFT + S jest ustawiony jako skrót do wykonania makra.
FunctionalTestScenarios
RegressionSuite
Kod VBA (makro)
Sub RegressionSuite() ' Keyboard Shortcut: Ctrl+Shift+S Sheets('FunctionalTestScenarios').Activate Rows('1:1').Select Selection.AutoFilter Sheet1.Range('$A:$D').AutoFilter Field:=4, Criteria1:='Yes' Lastrow=Sheets('FunctionalTestScenarios') .Cells(Sheets('FunctionalTestScenarios').Rows.Count, 'A').End(xlUp).Row Range('A2:C2' & Lastrow).Select Selection.Copy Sheets('RegressionSuite').Select Range('A2').Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _:=False, Transpose:=False End Sub
Wyjaśnienie kodu
- Arkusze („FunctionalTestScenarios”). Aktywuj: Gdy w programie Excel jest wiele arkuszy, metoda Activate aktywuje pierwszy arkusz, a zatem fokus jest jawnie ustawiany na pierwszy arkusz.
- Rzędy („1: 1”). Wybierz: Ta instrukcja wybiera pierwszy wiersz dla wszystkich kolumn pierwszego arkusza.
- Selection.AutoFilter: Ta instrukcja stosuje filtr do wybranego pierwszego wiersza.
- Sheet1.Range („$ A 1: $ D $ 38 ″). Pole Autofiltru: = 4, Kryteria1: =” Tak ”: To stwierdzenie stosuje automatyczny filtr do kolumny numer 4, tj. „Uwzględnić w zestawie regresji?” i odfiltrowuje rekordy pod kątem wartości „Tak”.
- Lastrow = Sheets („FunctionalTestScenarios”). Cells (Sheets („FunctionalTestScenarios”) .Rows.Count, „A”). End (xlUp) .Row: Ta instrukcja pobiera liczbę ostatnich wierszy pierwszego arkusza.
- Zakres („A2: C2” i ostatnia linia). Wybierz: Ta instrukcja wybiera wszystkie wiersze i kolumny pierwszego arkusza z Uwzględnić w zestawie regresji? = Tak.
- Wybór. Kopia: Ta instrukcja kopiuje wszystkie wybrane rekordy.
- Arkusze („RegressionSuite”). Wybierz: To stwierdzenie otwiera 2ndarkusz.
- Zakres („A2”). Wybierz: Ta instrukcja wybiera komórkę A2 z 2ndarkusz.
- Selection.PasteSpecial Paste: = xlPasteValues, Operation: = xlNone, SkipBlanks _: = False, Transpose: = False: Ta instrukcja kopiuje wybraną wartość komórki źródłowej do arkusza docelowego. Zakres komórek docelowych zawiera tylko wartości obliczone przy użyciu formuł. Alternatywnie można również użyć Paste: = xlValues. Żadne spacje nie są pomijane. Komórki źródłowe nie są transponowane i nie są wykonywane żadne operacje matematyczne.
Przykładowe zastosowanie nr 2
Są chwile, kiedy trzeba utworzyć przypadki testowe dla powiedzmy 100 stanów lub 1000 podmiotów (na przykład 1000 formularzy ubezpieczeniowych). Kroki testowe dla tej ogromnej listy stanów lub jednostek mogą być takie same i powtarzalne.
Mimo to, przygotowanie przypadku testowego może być jedną z najbardziej czasochłonnych czynności, dlatego posiadanie dokumentu przypadku testowego jest bardzo ważne, aby wykupić wymagane szacunki od klienta i zlecić zespołowi kontroli jakości przetestowanie każdego z przypadków testowych w ciągu prawidłowo oszacowane terminy.
Rozwiązanie
W takich przypadkach długie godziny poświęcane na przygotowanie przypadków testowych można zredukować do ułamka sekund za pomocą makra.
- Możesz utworzyć arkusz, w którym wystarczy podać dane wejściowe jako identyfikator przypadku testowego i unikalną listę encji.
- Utwórz makro, które po uruchomieniu dodaje powtarzalne wiersze kroków testowych dla każdej z tych jednostek, a dokument przypadku testowego jest gotowy w kilka sekund bez konieczności poświęcania znacznej ilości ręcznego wysiłku wymaganego do przygotowania przypadków testowych.
Próbny
- Pierwszy arkusz „GetTestcasesASAP” jest jedynym arkuszem opartym na makrach, który jest początkowo pusty.
- Kolejny arkusz „Przykładowe dane wejściowe” nie odgrywa żadnej roli w makro. Przechowuje jedynie przykładowe dane wejściowe do celów demonstracyjnych.
- Skopiuj i wklej dane z zakresu próbki danych wejściowych od A2 do B12 do pierwszego arkusza.
- Możesz skopiować i wkleić dane wejściowe w formacie - Kolumna A = ……. i kolumna B =.
- Gdy dane wejściowe będą gotowe, naciśnij klawisze CTRL + SHIFT + T jako klawisze skrótu do wykonania makra.
- Kroki testowe są automatycznie dodawane do każdego identyfikatora przypadku testowego, a dokument przypadku testowego jest przygotowywany w ciągu zaledwie kilku sekund.
GetTestcasesASAP
Przykładowe dane wejściowe
Dane wejściowe są wklejane do pierwszego arkusza.
Obraz podczas wykonywania makra przez naciśnięcie CTRL + SHIFT + T.
Kod VBA (makro)
Sub GetTestcasesQuick() ' GetTestcasesQuick Macro ' Keyboard Shortcut: Ctrl+Shift+T Sheets('GetTestcasesASAP').Activate lastrow =Sheets('GetTestcasesASAP').Cells(Sheets('GetTestcasesASAP').Rows.Count, 'A').End(xlUp).Row Dim AddRows As Integer AddRows = 5 Dim i As Integer i = lastrow Do While i <> 1 Rows(i & ':' & i + AddRows).Insert i = i - 1 Loop ScreenUpdating = True lastrow = Sheets('GetTestcasesASAP').Cells(Sheets('GetTestcasesASAP').Rows.Count, 'A').End(xlUp).Row i = 2 While i <= lastrow + 6 Sheets('GetTestcasesASAP').Cells(i, 3) = 'Validate rates-factor combinations' Sheets('GetTestcasesASAP').Cells(i + 1, 3) = 'Batch job schedules and runs. ' Sheets('GetTestcasesASAP').Cells(i + 2, 3) = 'Commissioning calculations settlements' Sheets('GetTestcasesASAP').Cells(i + 3, 3) = 'Quick and detailed quote' Sheets('GetTestcasesASAP').Cells(i + 4, 3) = 'Benefit illustration ' Sheets('GetTestcasesASAP').Cells(i + 5, 3) = 'Benefit summary validation' i = i + 7 Wend End Sub
Wyjaśnienie kodu
(a) Arkusze („GetTestcasesASAP”). Aktywuj: Ta instrukcja aktywuje pierwszy arkusz.
lista darmowych dostawców poczty e-mail w usa
(b) lastrow = Sheets („GetTestcasesASAP”). Cells (Sheets („GetTestcasesASAP”). Rows.Count, „A”). End (xlUp) .Row: Ta instrukcja pobiera liczbę ostatnich wierszy. Tym razem otrzyma całkowitą liczbę wierszy dla identyfikatorów początkowych przypadków testowych, które zostały właśnie dodane jako część danych wejściowych przed wykonaniem makra.
(c) Dim AddRows As Integer: Ta instrukcja deklaruje zmienną AddRows jako typ danych całkowitoliczbowych.
(d) AddRows = 5: Ta instrukcja inicjuje AddRows wartością 5. Zmienna służy do wstawiania kilku wierszy po każdym identyfikatorze przypadku testowego, aby można było dodać statyczne kroki testowe dla każdego przypadku testowego.
(e) Dim i As Integer: Ta instrukcja deklaruje zmienną i jako liczbę całkowitą.
(f) i = lastrow : Ta instrukcja przypisuje początkową liczbę ostatnich wierszy do zmiennej i.
(g) Do While i 1 : Robi to podczas gdy pętla wstawia 6 pustych wierszy po każdym identyfikatorze przypadku testowego. Zapętlenie rozpoczyna się od ostatniego identyfikatora przypadku testowego i trwa do pierwszego identyfikatora przypadku testowego.
Wiersze (i & „:” i i + AddRows). Wstaw
i = i - 1
Pętla
(h) ScreenUpdating = True : To stwierdzenie sprawia, że każda aktualizacja ekranu jest widoczna. W związku z tym działanie makra może być nieco powolne. Aby zoptymalizować działanie makra, możesz również ustawić ScreenUpdating = False .
Ustawienie ScreenUpdating na False poprawia wydajność makra i przyspiesza jego wykonywanie, jednak nie będzie można zobaczyć sporadycznych zmian, które mają miejsce podczas wykonywania makra. Zamiast tego zmiany pojawią się dopiero po zakończeniu wykonywania makra.
(i) lastrow = Sheets („GetTestcasesASAP”). Cells (Sheets („GetTestcasesASAP”). Rows.Count, „A”). End (xlUp) .Row : Ta instrukcja ponownie oblicza liczbę ostatnich wierszy po dodaniu nowych 6 wierszy dla każdego przypadku testowego.
(j) i = 2
(k) Podczas gdy i<= lastrow + 6
Arkusze („GetTestcasesASAP”). Cells (i, 3) = „Sprawdź poprawność kombinacji stawek i współczynników”
Arkusze („GetTestcasesASAP”). Komórki (i + 1, 3) = „Harmonogramy i uruchomienia zadań wsadowych. „
Arkusze („GetTestcasesASAP”). Komórki (i + 2, 3) = „Uruchomienie rozliczeń obliczeń”
Arkusze („GetTestcasesASAP”). Cells (i + 3, 3) = „Szybka i szczegółowa wycena”
Arkusze („GetTestcasesASAP”). Komórki (i + 4, 3) = „Ilustracja korzyści”
Arkusze („GetTestcasesASAP”). Cells (i + 5, 3) = „Podsumowanie korzyści”
i = i + 7
Zastosować
Ten fragment pętli while dodaje 6 kroków statycznych kroków testowych dla każdego przypadku testowego, ustawiając te wiersze kolejno po każdym identyfikatorze testu.
Kroki testu statycznego dodane do każdego przypadku testowego są następujące:
- Krok 1: Sprawdź poprawność kombinacji stawek i współczynników.
- Krok 2: Planuje i uruchamia zadania wsadowe.
- Krok 3: Uruchomienie rozliczeń obliczeń.
- Krok 4: Szybka i szczegółowa wycena.
- Krok 5: Ilustracja korzyści.
- Krok 6: Podsumowanie korzyści.
Poza tym przesuwa również następny przypadek testowy Id w sekwencji do 6 + 2, czyli 8thrząd.
Na przykład: Jeśli TC1 znajduje się w pierwszym rzędzie, stopnie są dodawane od drugiego do siódmego rzędu, a TC2 jest przesuwany do ósmego rzędu. W podobny sposób postępuje się również w przypadku pozostałych identyfikatorów przypadków testowych.
Przykładowe zastosowanie nr 3
Zdarzają się przypadki, gdy klient dostarcza ogromny plik danych, gdzieś blisko 1000 lub więcej rekordów, a pisanie przypadków testowych dla tych olbrzymich rekordów i mapowanie danych na każdym etapie testowania jest żmudną pracą. Makro może skrócić dni pracy do kilku minut, oszczędzając w ten sposób czas przygotowania przypadku testowego.
Rozwiązanie
Plik danych dostarczony przez klienta można skopiować do arkusza z włączoną obsługą makr. Podczas wykonywania makra przypadki testowe są automatycznie tworzone w drugim arkuszu przez automatyczne mapowanie danych testowych do każdego kroku testowego dla każdego przypadku testowego.
Próbny
- Pierwszy arkusz „InputFile” i drugi arkusz „ReadyTestCases” są głównymi współtwórcami makra.
- Inny arkusz „Sample -InputFile” nie odgrywa żadnej roli w makrze. Przechowuje jedynie przykładowy plik danych wejściowych do celów demonstracyjnych.
- Gdy dane z „Sample-InputFile” lub plik danych dostarczony przez klienta jest kopiowany do pierwszego arkusza, tj. „InputFile”,
- Wykonaj makro, a przypadki testowe zostaną automatycznie utworzone dla każdego przypadku testowego, w którym identyfikatory zamówień są ustawione jako identyfikatory przypadków testowych ( Uwaga: Pamiętaj, aby umieścić unikalny identyfikator umieszczony w pierwszej kolumnie w InputFile).
- Na razie nie mamy zestawu klawiszy skrótu do uruchomienia makra, zamiast tego musimy uruchomić go za pomocą opcji uruchamiania w pliku Widok -> Makra -> Wybierz makro -> Edycja -> Okno VBA.
- Kod makra dynamicznie obsługuje dodawanie kroków testu. Na końcu sprawdza, czy którakolwiek z wartości pola jest pusta, jeśli tak, usuwa krok testowy dla tego samego, co krok nie byłby wymagany dla pustego pola. Na przykład, jeśli spojrzysz na plik wejściowy poniżej, 2ndrekord nie ma wartości dla daty wysyłki, a trzeci wiersz nie zawiera wartości dla regionu. Dlatego po wykonaniu makra przypadki testowe, które są tworzone automatycznie, nie będą miały kroków testowych odpowiadających tym pustym wartościom.
Sample- InputFile
InputFile: po wykonaniu kopiowania wklej dane z przykładowego pliku wejściowego do pliku wejściowego
Uwaga:
- Nie wklejaj nagłówka kolumny z arkusza „Sample-InputFile”.
- Pola podświetlone na żółto są puste, dlatego kroki testu odpowiadające tym pustym wartościom nie powinny być tworzone za pomocą makra.
Obraz arkusza ReadyTestcases po uruchomieniu makra.
Kod VBA (makro)
Sub Macro1() ScreenUpdating = False '-------- Assign the first column value of Inputfile sheet to first column of ReadyTestCases sheet' This is the TC Id -- ThisWorkbook.Sheets('InputFile').Activate nrow = ThisWorkbook.Sheets('InputFile').Cells(Rows.Count, 1).End(xlUp).Row ncol = ThisWorkbook.Sheets('InputFile').Cells(1, Columns.Count).End(xlToLeft).Column i = 1 j = 1 For i = 1 To nrow ThisWorkbook.Sheets('ReadyTestCases').Cells(i, 1) = ThisWorkbook.Sheets('InputFile').Cells(i, 1) Next i ' ---------------------Inserting 20 buffer blank rows for each row in InputFile sheet--------- lastrow = Sheets('InputFile').Cells(Sheets('InputFile').Rows.Count, 'A').End(xlUp).Row ThisWorkbook.Sheets('InputFile').Activate AddRows = 21 i = lastrow Do While i <> 1 Rows(i &; ':' & i + AddRows - 1).Insert i = i - 1 Loop ' Inserting 21 buffer blank rows for each row in ReadyTestCases sheet----------- lastrow = Sheets('ReadyTestCases').Cells(Sheets('ReadyTestCases').Rows.Count, 'A').End(xlUp).Row ThisWorkbook.Sheets('ReadyTestCases').Activate AddRowsTC = 21 j = lastrow Do While j <> 1 ' 1 because we dont need extra blank lines after last row Rows(j & ':' & j + AddRowsTC - 1).Insert j = j - 1 Loop '------- Input values into ReadyTestCases sheet from each row of inputfile sheet lastrow = Sheets('ReadyTestCases').Cells(Sheets('ReadyTestCases').Rows.Count, 'A').End(xlUp).Row Dim a a = 1 ThisWorkbook.Sheets('ReadyTestCases').Activate For a = 1 To lastrow ThisWorkbook.Sheets('ReadyTestCases').Cells(a,3) = ThisWorkbook.Sheets('InputFile').Cells(a, 2) ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 1, 3) = ThisWorkbook.Sheets('InputFile').Cells(a, 3) ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 2, 3) = ThisWorkbook.Sheets('InputFile').Cells(a, 4) ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 3, 3) = ThisWorkbook.Sheets('InputFile').Cells(a, 5) ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 4, 3) = ThisWorkbook.Sheets('InputFile').Cells(a, 6) ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 5, 3) = ThisWorkbook.Sheets('InputFile').Cells(a, 7) ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 6, 3) = ThisWorkbook.Sheets('InputFile').Cells(a, 8) ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 7, 3) = ThisWorkbook.Sheets('InputFile').Cells(a, 9) ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 8, 3) = ThisWorkbook.Sheets('InputFile').Cells(a, 10) ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 9, 3) = ThisWorkbook.Sheets('InputFile').Cells(a, 11) ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 10, 3) = ThisWorkbook.Sheets('InputFile').Cells(a, 12) ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 11, 3) = ThisWorkbook.Sheets('InputFile').Cells(a, 13) ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 12, 3) = ThisWorkbook.Sheets('InputFile').Cells(a, 14) ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 13, 3) = ThisWorkbook.Sheets('InputFile').Cells(a, 15) ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 14, 3) = ThisWorkbook.Sheets('InputFile').Cells(a, 16) ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 15, 3) = ThisWorkbook.Sheets('InputFile').Cells(a, 17) ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 16, 3) = ThisWorkbook.Sheets('InputFile').Cells(a, 18) ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 17, 3) = ThisWorkbook.Sheets('InputFile').Cells(a, 19) a = a + 21 Next a '------- Add verbiages reserved for each row lastrow = Sheets('ReadyTestCases').Cells(Sheets('ReadyTestCases').Rows.Count, 'C').End(xlUp).Row a = 1 ThisWorkbook.Sheets('ReadyTestCases').Activate For a = 1 To lastrow ThisWorkbook.Sheets('ReadyTestCases').Cells(a, 2) = 'Verify Order Date' ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 1, 2) = 'Verify Ship Date' ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 2, 2) = 'Verify Ship Mode' ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 3, 2) = 'Verify Customer Id' ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 4, 2) = 'Verify Customer Name' ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 5, 2) = 'Verify Segment' ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 6, 2) = 'Verify City' ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 7, 2) = 'Verify State' ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 8, 2) = 'Verify Postal Code' ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 9, 2) = 'Verify Region' ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 10, 2) = 'Verify Product Id' ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 11, 2) = 'Verify Category' ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 12, 2) = 'Verify Sub-Category' ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 13, 2) = 'Verify Product Name' ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 14, 2) = 'Verify Sales' ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 15, 2) = 'Verify Quantity' ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 16, 2) = 'Verify Discount' ThisWorkbook.Sheets('ReadyTestCases').Cells(a + 17, 2) = 'Verify Profit' a = a + 21 Next a '------Second last step- remove blank rows from ReadyTestCases and InputFile----- Deleteblankrows ('ReadyTestCases') 'call Delete blank row function for TC sheet ScreenUpdating = True End Sub ‘-------------------------------------------------------------------------------- Sub Deleteblankrows(ByVal Sheet As String) Dim wks As Worksheet Set wks = ThisWorkbook.Worksheets(Sheet) Dim i As Long wks.Activate lastrow = wks.Cells(Sheets(Sheet).Rows.Count, 'C').End(xlUp).Row With ActiveSheet For i = 1 To lastrow 'check each row of column B , if any row is empty then countA=0, delete that entire row If WorksheetFunction.CountBlank(Range(Cells(i, 2), Cells(i, 3))) = 1 Then Selection.Rows(i).EntireRow.Delete End If Next i End With End Sub
Wyjaśnienie kodu
# 1) ScreenUpdating = Fałsz: Aktualizacje ekranu nie będą widoczne po ustawieniu ScreenUpdating na False.
# 2) ThisWorkbook.Sheets („InputFile”). Aktywuj: Ta instrukcja aktywuje arkusz „InputFile”.
# 3) nrow = ThisWorkbook.Sheets („InputFile”). Cells (Rows.Count, 1) .End (xlUp) .Row: Ta instrukcja pobiera liczbę wszystkich wierszy.
# 4) ncol = ThisWorkbook.Sheets („InputFile”). Cells (1, Columns.Count) .End (xlToLeft) .Column: Ta instrukcja pobiera liczbę wszystkich kolumn.
# 5) i = 1: Ta instrukcja inicjuje i od 1.
# 6) j = 1: Ta instrukcja inicjuje j od 1.
# 7) Dla i = 1 Aby nrow
ThisWorkbook.Sheets („ReadyTestCases”). Cells (i, 1) = ThisWorkbook.Sheets („InputFile”). Cells (i, 1)
Dalej i: Ten fragment kopii pętli For wkleja pierwszą wartość kolumny (w tym przypadku identyfikator zamówienia) arkusza „InputFile” do każdego wiersza arkusza „ReadyTestCases” jako identyfikator przypadku testowego.
# 8) lastrow = Arkusze („InputFile”). Cells (Sheets („InputFile”). Rows.Count, „A”). End (xlUp) .Row: Ta instrukcja ponownie oblicza ostatnią liczbę wierszy w pliku InputFile.
# 9) AddRows = 21: Ta instrukcja przypisuje 21 do zmiennej AddRows. Zmiennej tej przypisano 21 z zamiarem wstawienia 21 dodatkowych pustych wierszy dla każdego przypadku testowego w celu dodania kroków testowych.
# 10) i = lastrow: Ta instrukcja przypisuje ostatnią liczbę ostatnich wierszy do i.
# 11) Do While i 1
Wiersze (i & „:” & i + AddRows - 1). Wstaw
i = i - 1
Pętla: Ta instrukcja dodaje 20 wierszy dla każdego przypadku testowego, zaczynając od dołu do góry.
# 12) lastrow = Arkusze („ReadyTestCases”). Komórki (arkusze („ReadyTestCases”). Wiersze.Count, „A”). End (xlUp) .Row: Ta instrukcja ponownie oblicza ostatnią całkowitą liczbę wierszy.
# 13) ThisWorkbook.Sheets („ReadyTestCases”). Aktywuj: Drugi arkusz jest aktywowany za pomocą tej instrukcji.
# 14) Przyciemnij, aby: Ta instrukcja deklaruje zmienną a.
# 15) a = 1: Ta instrukcja przypisuje 1 do.
# 16) Dla a = 1 Do ostatniego rzutu
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a, 3) = ThisWorkbook.Sheets („InputFile”). Cells (a, 2)
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 1, 3) = ThisWorkbook.Sheets („InputFile”). Cells (a, 3)
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 2, 3) = ThisWorkbook.Sheets („InputFile”). Cells (a, 4)
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 3, 3) = ThisWorkbook.Sheets („InputFile”). Cells (a, 5)
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 4, 3) = ThisWorkbook.Sheets („InputFile”). Cells (a, 6)
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 5, 3) = ThisWorkbook.Sheets („InputFile”). Cells (a, 7)
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 6, 3) = ThisWorkbook.Sheets („InputFile”). Cells (a, 8)
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 7, 3) = ThisWorkbook.Sheets („InputFile”). Cells (a, 9)
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 8, 3) = ThisWorkbook.Sheets („InputFile”). Cells (a, 10)
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 9, 3) = ThisWorkbook.Sheets („InputFile”). Cells (a, 11)
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 10, 3) = ThisWorkbook.Sheets („InputFile”). Cells (a, 12)
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 11, 3) = ThisWorkbook.Sheets („InputFile”). Cells (a, 13)
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 12, 3) = ThisWorkbook.Sheets („InputFile”). Cells (a, 14)
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 13, 3) = ThisWorkbook.Sheets („InputFile”). Cells (a, 15)
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 14, 3) = ThisWorkbook.Sheets („InputFile”). Cells (a, 16)
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 15, 3) = ThisWorkbook.Sheets („InputFile”). Cells (a, 17)
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 16, 3) = ThisWorkbook.Sheets („InputFile”). Cells (a, 18)
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 17, 3) = ThisWorkbook.Sheets („InputFile”). Cells (a, 19)
a = a + 21
Następny a: Fragment pętli for mapuje wartości z każdej kolumny arkusza InputFile na poszczególne kroki testowe dla każdego identyfikatora przypadku testowego.
# 17) lastrow = Arkusze („ReadyTestCases”). Cells (Sheets („ReadyTestCases”). Rows.Count, „C”). End (xlUp) .Row : Ta instrukcja ponownie oblicza całkowitą liczbę wierszy w arkuszu ReadyTestCases po dodaniu 21 wierszy dla każdego identyfikatora przypadku testowego.
# 18) a = 1: Ta instrukcja przypisuje 1 do zmiennej a.
# 19) ThisWorkbook.Sheets („ReadyTestCases”). Aktywuj: Ta instrukcja aktywuje arkusz ReadyTestCases.
# 20) Dla a = 1 Do ostatniego rzutu
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a, 2) = „Verify Order Date”
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 1, 2) = „Verify Ship Date”
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 2, 2) = „Verify Ship Mode”
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 3, 2) = „Verify Customer Id”
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 4, 2) = „Verify Customer Name”
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 5, 2) = „Verify Segment”
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 6, 2) = „Verify City”
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 7, 2) = „Verify State”
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 8, 2) = „Verify Postal Code”
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 9, 2) = „Verify Region”
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 10, 2) = „Verify Product Id”
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 11, 2) = „Verify Category”
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 12, 2) = „Verify Sub-Category”
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 13, 2) = „Verify Product Name”
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 14, 2) = „Verify Sales”
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 15, 2) = „Verify Quantity”
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 16, 2) = „Verify Discount”
ThisWorkbook.Sheets („ReadyTestCases”). Cells (a + 17, 2) = „Verify Profit”
a = a + 21
Dalej a - Ten fragment pętli For dodaje statyczne kroki testowe dla każdego przypadku testowego.
# 21) Usuń puste wiersze („ReadyTestCases”): Wywołaj funkcję Deleteblankrow function dla arkusza „Ready TestCases”.
# 22) ScreenUpdating = True: Umożliwia to wizualizację aktualizacji ekranu, które mają miejsce w ramach wykonywania makr.
# 23) Sub Deleteblankrows (ByVal Sheet As String): Poniższy kod dotyczy funkcji Deletblankrows, która będzie dynamicznie sprawdzać, czy w polach danych znajdują się puste wartości. Jeśli tak, krok testowy utworzony dla pustych danych zostanie z kolei usunięty poprzez usunięcie takich wierszy.
# 24) Przyciemnij tyg. Jako arkusz roboczy: Ta instrukcja deklaruje zmienną wks jako arkusz roboczy.
# 25) Ustaw wks = ThisWorkbook.Worksheets (Sheet): Ta instrukcja przypisuje arkusz roboczy dostarczony jako parametr wejściowy.
# 26) Dim i As Long: Ta wkładka deklaruje, że jestem Long.
# 28) ty.Aktywuj: Ta instrukcja aktywuje arkusz.
# 29) lastrow = wks.Cells (Sheets (Sheet) .Rows.Count, „C”). End (xlUp) .Row: To stwierdzenie pobiera liczbę z ostatniego wiersza w arkuszu.
# 30) Dla i = 1 Do ostatniego rzutu: Pętla For wykonuje iterację od pierwszego do ostatniego wiersza.
# 31) Jeśli WorksheetFunction.CountBlank (Range (Cells (i, 2), Cells (i, 3))) = 1 To: Ten warunek sprawdza, czy dla każdego wiersza druga i trzecia kolumna jest liczona jako pusta jako 1.
# 32) Selection.Rows (i) .EntireRow.Delete: Ta instrukcja usuwa wybrany wiersz, jeśli warunek jest prawdziwy.
Przykładowe zastosowanie nr 4
Formuły programu Excel w szablonie Test Estimates można również uruchamiać za pomocą makra. Wykres jest również tworzony za pomocą makra.
Próbny
- Utrzymywany jest arkusz „Szacunki”, który umożliwi użytkownikom dodawanie szacunkowych godzin na etapy testowania, począwszy od zrozumienia wymagań biznesowych, a skończywszy na tworzeniu, wykonywaniu i poprawianiu aktualizacji skryptów testowych.
- Komórki podświetlone na zielono umożliwiają wprowadzanie danych przez użytkownika. To są pola wejściowe.
- Te podświetlone na niebiesko pochodzą automatycznie.
- Drugi arkusz zawiera metryki Rework, a trzeci arkusz zawiera metryki złożoności.
- Użytkownik wprowadza wielkość złożoności w postaci H, L i M w kolumnie D, a kolumna E automatycznie pobiera współczynnik złożoności za pomocą podglądu z „Wskaźniki złożoności” arkusz.
- Użytkownik wprowadza rozmiar przeróbki pod względem H, L i M w kolumnie F, a kolumna G automatycznie pobiera współczynnik złożoności za pomocą podglądu z arkusza „Metryki przeróbki”.
- Współczynniki są następnie używane w kolumnie H w celu pobrania całkowitych wysiłków do oszacowania.
- Po wykonaniu innego makra przygotowuje wykres i dodaje go do czwartego arkusza „Wykres”.
- Włączone formuły są sterowane za pomocą makra przy użyciu klawisza skrótu CTRL + SHIFT + E.
Szacunki
Metryki przeróbki
Metryki złożoności
Wykres
Kod VBA (makro) dla arkusza szacunków
' Keyboard Shortcut: Ctrl+Shift+E ThisWorkbook.Sheets(1).Activate Sheets('Estimates').Cells(4, 8) = Sheets('Estimates').Cells(4, 2) * Sheets('Estimates').Cells(4, 3) * Sheets('Estimates').Cells(4, 5) * Sheets('Estimates').Cells(4, 7) Sheets('Estimates').Cells(5, 8) = Sheets('Estimates').Cells(5, 2) * Sheets('Estimates').Cells(5, 3) * Sheets('Estimates').Cells(5, 5) * Sheets('Estimates').Cells(5, 7) Sheets('Estimates').Cells(6, 8) = Sheets('Estimates').Cells(6, 2) * Sheets('Estimates').Cells(6, 3) * Sheets('Estimates').Cells(6, 5) * Sheets('Estimates').Cells(6, 7) Sheets('Estimates').Cells(7, 8) = Sheets('Estimates').Cells(7, 2) * Sheets('Estimates').Cells(7, 3) * Sheets('Estimates').Cells(7, 5) * Sheets('Estimates').Cells(7, 7) Sheets('Estimates').Cells(8, 8) = Sheets('Estimates').Cells(8, 2) * Sheets('Estimates').Cells(8, 3) * Sheets('Estimates').Cells(8, 5) * Sheets('Estimates').Cells(8, 7) Sheets('Estimates').Cells(9, 8) = Sheets('Estimates').Cells(9, 2) * Sheets('Estimates').Cells(9, 3) * Sheets('Estimates').Cells(9, 5) * Sheets('Estimates').Cells(9, 7) Sheets('Estimates').Cells(10, 8) = Sheets('Estimates').Cells(10, 2) * Sheets('Estimates').Cells(10, 3) * Sheets('Estimates').Cells(10, 5) * Sheets('Estimates').Cells(10, 7) Sheets('Estimates').Cells(11, 8) = Sheets('Estimates').Cells(4, 8) + Sheets('Estimates').Cells(5, 8) + Sheets('Estimates').Cells(6, 8) + Sheets('Estimates').Cells(7, 8) + Sheets('Estimates').Cells(8, 8) + Sheets('Estimates').Cells(9, 8) + Sheets('Estimates').Cells(10, 8) ‘--------------------------------------------------- For i = 3 To 10 Sheets('Chart').Cells(i - 2, 1) = Sheets('Estimates').Cells(i, 1) Sheets('Chart').Cells(i - 2, 2) = Sheets('Estimates').Cells(i, 8) Next i End Sub
Wyjaśnienie kodu
(a) Ten skoroszyt. arkusze (1) .Aktywacja: Aktywuje się pierwszy arkusz „Szacunki”.
(b) Arkusze („Szacunki”). Komórki (4, 8) = Arkusze („Szacunki”). Komórki (4, 2) * Arkusze („Szacunki”). Komórki (4, 3) * Arkusze („Szacunki”) ) .Cells (4, 5) * Sheets („Estimates”). Cells (4, 7): Ta instrukcja oblicza kolumnę B * kolumnę C * kolumnę E * kolumnę G i przypisuje do kolumny H dla wiersza 4.
(c) Arkusze („Szacunki”). Komórki (5, 8) = Arkusze („Szacunki”). Komórki (5, 2) * Arkusze („Szacunki”). Komórki (5, 3) * Arkusze („Szacunki”) ) .Cells (5, 5) * Sheets („Estimates”). Cells (5, 7): Ta instrukcja oblicza kolumnę B * kolumnę C * kolumnę E * kolumnę G i przypisuje do kolumny H dla wiersza 5.
(d) Arkusze („Szacunki”). Komórki (6, 8) = Arkusze („Szacunki”). Komórki (6, 2) * Arkusze („Szacunki”). Komórki (6, 3) * Arkusze („Szacunki”) ) .Cells (6, 5) * Sheets („Estimates”). Cells (6, 7): Ta instrukcja oblicza kolumnę B * kolumnę C * kolumnę E * kolumnę G i przypisuje do kolumny H dla wiersza 6.
(e) Arkusze („Szacunki”). Komórki (7, 8) = Arkusze („Szacunki”). Komórki (7, 2) * Arkusze („Szacunki”). Komórki (7, 3) * Arkusze („Szacunki”) ) .Cells (7, 5) * Sheets („Estimates”). Cells (7, 7): Ta instrukcja oblicza kolumnę B * kolumnę C * kolumnę E * kolumnę G i przypisuje do kolumny H dla wiersza 7.
(f) Arkusze („Szacunki”). Komórki (8, 8) = Arkusze („Szacunki”). Komórki (8, 2) * Arkusze („Szacunki”). Komórki (8, 3) * Arkusze („Szacunki”) ) .Cells (8, 5) * Sheets („Estimates”). Cells (8, 7): Ta instrukcja oblicza kolumnę B * kolumnę C * kolumnę E * kolumnę G i przypisuje do kolumny H dla wiersza 8.
(g) Arkusze („Szacunki”). Komórki (9, 8) = Arkusze („Szacunki”). Komórki (9, 2) * Arkusze („Szacunki”). Komórki (9, 3) * Arkusze („Szacunki”) ) .Cells (9, 5) * Sheets („Estimates”). Cells (9, 7): Ta instrukcja oblicza kolumnę B * kolumnę C * kolumnę E * kolumnę G i przypisuje do kolumny H dla wiersza 9.
(h) Arkusze („Szacunki”). Komórki (10, 8) = Arkusze („Szacunki”). Komórki (10, 2) * Arkusze („Szacunki”). Komórki (10, 3) * Arkusze („Szacunki”) ) .Cells (10, 5) * Sheets („Estimates”). Cells (10, 7): Ta instrukcja oblicza kolumnę B * kolumnę C * kolumnę E * kolumnę G i przypisuje do kolumny H dla wiersza 10.
(i) Arkusze („Szacunki”). Komórki (11, 8) = Arkusze („Szacunki”). Komórki (4, 8) + Arkusze („Szacunki”). Komórki (5, 8) + Arkusze („Szacunki”) ) .Cells (6, 8) + Sheets („Estimates”). Cells (7, 8) + Sheets („Estimates”). Cells (8, 8) + Sheets („Estimates”). Cells (9, 8) + Arkusze („Szacunki”). Komórki (10, 8): Ta instrukcja podsumowuje komórki od H2 do H10 i przypisuje końcową wartość do H11. Ta wartość zapewnia całkowity wysiłek (w godzinach).
(j) Dla i = 3 do 10
Arkusze („Wykres”). Komórki (i - 2, 1) = Arkusze („Szacunki”). Komórki (i, 1)
Arkusze („Wykres”). Komórki (i - 2, 2) = Arkusze („Szacunki”). Komórki (i, 8)
Następny ja: Ta kopia pętli For wkleja dane z kolumny 1 i kolumny 8 arkusza Szacunki do arkusza wykresu. Dzieje się tak, aby dane z arkusza wykresu mogły zostać użyte do przygotowania wykresu kołowego. Jest jeszcze jedno makro napisane dla arkusza „Wykres”, które przygotowuje wykres dla tego samego.
Kod VBA (makro) dla arkusza wykresów
Sub CreateChart() Dim rng As Range Dim cht As Object ThisWorkbook.Sheets('Chart').Activate Set rng = ActiveSheet.Range('A2:B8') Set est = ThisWorkbook.Sheets('Chart').Shapes.AddChart2 est.Chart.SetSourceData Source:=rng est.Chart.ChartType = xl3DPieExploded est.Chart.HasTitle = True est.Chart.ChartTitle.Text = 'Test Estimates' est.Chart.SetElement (msoElementDataLabelCenter) est.Chart.SetElement (msoElementLegendBottom) End Sub
Wyjaśnienie kodu
- Dim rng As Range: Ta instrukcja deklaruje rng jako wartość zakresu.
- Dim is As Object: Ta instrukcja deklaruje est jako wartość Object.
- Ten skoroszyt.Arkusze („Wykres”). Aktywuj: Ta instrukcja aktywuje arkusz wykresu.
- Ustaw rng = ActiveSheet.Range („A2: B8”): Zakres od A2 do B8 arkusza-wykresu jest ustawiony na rng.
- Ustaw est = ThisWorkbook.Sheets („Chart”). Shapes.AddChart2: Ta instrukcja służy do zainicjowania tworzenia nowego wykresu na arkuszu-wykresie.
- est.Chart.SetSourceData Source: = rng: To stwierdzenie zapewnia zakres danych do rozważenia na wykresie.
- est.Chart.ChartType = xl3DPieExploded: Typ wykresu jest ustawiony na Kołowy 3D typu Rozbite. xl3DPieExploded pomaga określić ten typ wykresu.
- est.Chart.HasTitle = True: To stwierdzenie sprawdza, czy wykres ma już tytuł.
- est.Chart.ChartTitle.Text = 'Szacunki testowe': To stwierdzenie zastępuje tytuł wykresu „Testuj szacunki”.
- est.Chart.SetElement (msoElementDataLabelCenter): To stwierdzenie określa etykiety danych i legendy dla wykresu.
- est.Chart.SetElement (msoElementLegendBottom): To stwierdzenie ustawia etykiety danych na dole wykresu.
Sposoby wykonania makra
Makro można uruchomić na 4 sposoby:
- Za pomocą ikony Uruchom w oknie edytora VBA.
- W pliku Excel wybierz opcję menu Widok -> Makra -> Wyświetl makro -> Wybierz nazwę makra i wybierz Uruchom.
- Utwórz skrót podczas tworzenia makra, a naciśnięcie klawiszy skrótu spowoduje uruchomienie makra.
- Najbardziej przyjaznym dla użytkownika sposobem jest utworzenie przycisku akcji ( Na przykład. Polecenie), do którego przypisane zostanie makro, którego kliknięcie spowoduje uruchomienie makra.
Zobaczymy, jak dodać przycisk polecenia i przypisać makro do przycisku. Kliknięty przycisk spowoduje wykonanie makra.
Dodaj przycisk kontrolny Formularze w programie Excel
- Wybierz Menu „Deweloper” -> Wstaw -> Formanty formularza -> Wybierz ikonę przycisku i dodaj przycisk w arkuszu Excel.
- Wprowadź nazwę i wartość tekstową przycisku. Nazwa przycisku jest używana w kodowaniu VBA do rozpoznawania tego przycisku polecenia, podczas gdy tekst jest wyświetlany na przycisku.
- Teraz kliknij prawym przyciskiem myszy przycisk polecenia i wybierz opcję „Przypisz makro” , pojawi się lista makr, wybierz nazwę makra, które chcesz przypisać.
- Po przypisaniu makra kliknięcie przycisku powoduje uruchomienie przypisanego makra.
- W tym przykładzie „Pobierz oszacowania testowe” jest przypisany do przycisku „Szacunki” makro.
- Podobnie, dodamy przycisk polecenia dla arkusza Wykresu i przypiszemy makro do Wykresu, aby wyzwolić generowanie wykresu.
- Klikając na „Utwórz wykres” przycisk uruchamia makro dla wykresu. Poprawia to użyteczność makra.
Wniosek
Było to kilka przykładów w czasie rzeczywistym, które mogłyby być częścią codziennej rutyny testera w pracy, które można by inteligentnie zidentyfikować w celu generowania makr, a tym samym zaoszczędzić sporo czasu na nieistotnych i powtarzalnych ręcznych wysiłkach poprzez automatyzację zadania.
Odpowiednie zrzuty ekranu, kod VBA i szczegółowe zrozumienie każdego wiersza kodu zostały omówione w tym artykule. Mam nadzieję, że da to dobry początek testom jakości na temat tego, jak zmienić się z mentalności testowania ręcznego na nastawienie makro.
Osobom, które uważają, że praca testerów manualnych jest zajęciem czysto nietechnicznym, udowodnijmy, że się mylą, stosując wiedzę techniczną wymaganą do poprawy produktywności.
Autor: Ten dogłębny, przydatny post został napisany przez Shobha D. Pracuje jako kierownik projektu i ma ponad 9-letnie doświadczenie w ręcznej, automatyzacji (IBM RFT i Selenium przy użyciu Java) oraz testowaniu API.
rekomendowane lektury
- Praca z obiektami VBScript Excel
- Tworzenie Selenium Framework i dostęp do danych testowych z Excela - Samouczek Selenium # 21
- 5 najczęstszych zadań testowych Testerzy zapominają o testowaniu (i jak tego uniknąć)
- 5 najważniejszych rzeczy, które tester musi mieć, aby osiągnąć sukces (i zmieniające się perspektywy testera oprogramowania)
- Pod-zadanie JIRA z przykładem (JIRA Create Sub-task)