Cześć! Jestem Krzysiek. Od kilku lat szkolę i pomagam rozwijać się osobom w branży inżynierii oprogramowania. Kładę nacisk na naukę umiejętności cyfrowych (programowania, projektowania i testowania) w taki sam sposób, jak na trening sportowy (siłownia/sala gimnastyczna/taniec). Jestem fanem zdobywania i propagowania wartościowej wiedzy wśród studentów i przekazywania złożonych zagadnień, w możliwie najprostszy sposób (wg. reguły kiss). W moich kursach jest już kilka tysięcy studentów, a części osób udało się przekwalifikować na stanowiska testerskie lub deweloperskie w branży IT.
Dziś dzielę się z Tobą kolejną dawką inspiracji do developmentu. Przypadkiem natrafiłem na stary filmik, który kiedyś mocno mnie zainspirował do pociągnięcia swoich umiejętności w tańcu… po blisko 15 latach nadal wydaje się być aktualny…
Tylko musisz skompilować w swojej głowie poniższą linijkę kodu pythona 😉
inspiration = "Dance to Inspire, Inspire to Dance"
myinspiration = ['Create']
print(inspiration.replace("Dance", "Create"))
W obecnych czasach pandemii i kryzysu wiele osób jest chętnych lub zmuszonych podnieść swoje kwalifikacje w dziedzinie testowania oprogramowania – czasem żeby utrzymać pracę.
Dobrym pomysłem i zarazem inwestycją jest rozważenie przystąpienia do testu online z zakresu ISTQB – może to pozwolić Ci nieco wyróżnić się na tle innych osób, poszerzyć możliwości kariery i (być może) zaowocować wyższym wynagrodzeniem.
Czym jest ISTQB?
Organizacja ISTQB to w skrócie „International Software Testing Qualifications Board”, oferuje ona certyfikację potwierdzenia umiejętności odnośnie różnych poziomów testowania oprogramowania przy czym jest uznana i rozpoznawalna na całym świecie. Prowadzona jest przez organizację non-profit, w skład której wchodzą wybitni eksperci z wieloletnim doświadczeniem. Certyfikaty, takie jak ISTQB, pokazują Twoją biegłość i zainteresowanie branżą testowania oprogramowania dla rekruterów i przyszłych pracodawców.
Natomiast przed rozważeniem przystąpienia do certyfikatu warto żebyś wiedział, że:
0 Żadna certyfikacja nie pomoże Ci w karierze zawodowej bez odpowiedniego doświadczenia praktycznego w realnych projektach. Doświadczenie zawodowe daj kluczową wiedzę, podstawy i zrozumienie, co zadziała w danej praktycznej sytuacji.
1 Kandydaci posiadający doświadczenie zawodowe są zawsze preferowanym wyborem w firmach dla osób decyzyjnych, które kierują tychże kandydatów na kursy doszkalające (ale zakręciłem :P) czyli w skrócie – jeżeli masz doświadczenie zawodowe będzie Ci prościej 🙂
2 Nawet jeśli jesteś nowicjuszem w dziedzinie testowania oprogramowania, certyfikat z pewnością może Ci pomóc (na poziomie foundation level). Możesz też pomyśleć o odbyciu stażu lub studiów wyższych związanych z jakością oprogramowania.
Certyfikat ISTQB podzielony jest na 3 poziomy:
0 Poziom podstawowy
Certyfikat na poziomie podstawowym jest przeznaczony głównie mało doświadczonym osobom (ale jednak z jakimś doświadczeniem związanym z branżą oprogramowania) chętnym poszerzyć swoją wiedzę z zakresu testowania oprogramowania.
Celem tego certyfikatu jest upewnienie się, że kluczowe pojęcia i podstawowe praktyki są dobrze zrozumiane przez interesantów.
1 Poziom zaawansowany
Kurs na poziomie zaawansowanym jest przeznaczony dla profesjonalistów średniego poziomu, którzy posiadają minimum 2-letnie doświadczenie zawodowe. Celem jest poznanie i zrozumienie zaawansowanych najlepszych praktyk i koncepcji testowania. Sylabus obejmuje następujące tematy:
0. Zaawansowane testy behawioralne i standardy dla testerów zorientowanych biznesowo – Test Analyst
1. Zaawansowane testy strukturalne dla testerów zorientowanych technicznie – Technical Test Analyst
2. Doświadczone koncepcje zarządzania testami dla menedżerów – Test Manager
2 Poziom eksperta
Jak sama nazwa wskazuje, kursy na poziomie eksperckim są przeznaczone dla prawdziwych ekspertów w dziedzinie testowania oprogramowania. Poziom jest dedykowany specjalistom mającym ponad 8-letnie doświadczenie zawodowe. Celem jest zrozumienie i wdrożenie ulepszenie najnowocześniejszej technologii w procesie testów oprogramowania.
Program ekspercki porusza takie kwestie jak:
0 Doskonalenie procesu testowego
1 Zarządzanie testami
2 Automatyzacja testów
3 Techniki branżowe.
Podsumowaniew pigułce
Czy warto robić certyfikat ISTQB? musisz samemu to ocenić 🙂 Wszystko zależy od danej sytuacji, ale na pewno jest to dobry wybór w szczególności na początku drogi zawodowej związanej z testowaniem oprogramowania. Ja natomiast uważam, że wiedza zawarta w sylabusach – bez względu na poziom zaawansowania jest uporządkowana i wartościowa. Nauka naprawdę jest dobrą inwestycją i jestem przekonany, że wykorzystasz tą wiedzę w praktyce zawodowej jeszcze wiele razy. Certyfikat o niczym nie świadczy tak naprawdę, ale nabyć wiedzę z tych zasobów jest wysoce wskazane i to rekomenduję 🙂
W dzisiejszym wpisie przedstawię Ci dokładnie jak skutecznie przygotować się do egzaminu na poziomie zaawansowanym ISTQB na przykładzie Analityka Testów (inne certyfikaty na tym poziomie będą różnić się materiałami ale zarówno dla Test Managera oraz Technical Test Analyst niektóre tematy są wspólne w tym sylabusie! Niezależnie, który certyfikat wybierzesz na poziomieAdvanceta wiedza i tak będzie dla Ciebie przydatna).
W mojej opinii to właśnie Test Analyst jest najbardziej wartościowy dla większości osób, które zajmują się biznesowym podejściem do testowania oprogramowania (zwróć uwagę na powyższej grafice, jakich dokładnie zagadnień dotyczy zakres materiału ISTQB Test Analyst) -> możesz poprzez ten certyfikat uzupełnić swoją wiedzę na temat dokładnego procesu testowego, zarządzania testami oraz poznania zaawansowanych technik testowych. Nauka tych zagadnień jest świetną inwestycją zawodową, jeżeli planujesz karierę jako tester oprogramowania. Test Analyst również porusza obszernie kwestie Review i narzędzi testowych do automatyzacji, co w szczególności może pomóc Ci uporządkować wiedzę odnośnie właśnie automatyzacji testowanego oprogramowania. Materiał zawarty w sylabusie Test Analyst zdecydowanie dostarczy Ci dużej dawki wartościowej wiedzy, ale na pewno nie wystarczy sama znajomość sylabusa do zaliczenia egzaminu ISTQB na poziomie zaawansowanym – musisz postawić na praktyczne wykorzystanie tych zagadnień!
W “polskim internecie” nie znalazłem samouczka jak skutecznie zaliczyć egzamin Test Analyst na poziomie zaawansowanym, więc postanowiłem go napisać opierając się o wpis napisany przez Ognjen Ninic w serwisie Linkedin.
Poziomy wiedzy, które należy przyswoić w sylabusie są podzielone według poniższych kryteriów:
• K1 – wymaga umiejętności zapamiętywania bez ich głębszego zrozumienia.
• K2 – wymaga umiejętności zrozumienia, chociaż możesz nie być wstanie zastosować ich w praktyce.
• K3 – jak powyżej, z tą różnicą, że powinieneś umieć zastosować to chociaż częściowo w praktyce.
• K4 – wymaga wszystkiego co powyżej, plus analitycznego zastosowania wiedzy w praktycznych projektach.
Poniżej zestawiłem materiały, które warto wykorzystać podczas nauki:
Materiały z oficjalnych zasobów ISTQB – Sylabusa sugeruje przeczytać wiele razy i koniecznie przerobić również przykładowy egzamin:
Polecam również zainteresować się, poniższą lekturą jest świetnie uporządkowana pod względem merytorycznym. Rex Black potrafi wyjaśnić skomplikowane zagadnienia w prosty sposób. Po opanowaniu przykładowych pytań i ich zrozumieniu nie powinieneś mieć większych problemów na teście:
Gdzie znaleźć przykładowe egzaminy/testy?
Dla Test Analyst jest dość trudno znaleźć przykładowe zadania, ale dla chcącego nic trudnego – możesz znaleźć wiele ciekawych materiałów w sieci o ile dobrze poszukasz. Skorzystaj z każdego możliwego egzaminu ISTQB od dostawców egzaminów online – to są prawdziwe pytania, które mogą być na egzaminie. Polecam sprawdzić również nowe egzaminy próbne zależnie od poziomu zaawansowania, na platformie Test competence! Są bardzo zbliżone do realnego egzaminu i przetrenowanie kilku testów byłoby wskazane przed certyfikacją. Godne uwagi są również materiały od Patshala: https://istqb.patshala.com/tests/mode.php?tn=27
Przykładowe pytania, podobne do tych które mogą pojawić się na egzaminie:
Materiały do nauki do przypomnienia na poziomie foundation level, które warto powtórzyć niezależnie od zdawanego testu na poziomie zaawansowanym (zwróć uwagę w jaki sposób najbardziej optymalnie i szybko rozwiązywać testy):
Ile czasu potrzeba na naukę poziomu zaawansowanego?
To w dużej mierze zależy od twojego doświadczenia zawodowego, motywacji oraz czasu który możesz poświęcić na naukę. Osobiście przygotowywałem się około 1,5-2 miesięcy. Myślę, że okres do 3 miesięcy jest wystarczający, aby zaliczyć certyfikat (oczywiście lepiej zminimalizować czas, a zwiększyć intensywność nauki) choć niektórzy przygotowują się nawet pół roku do tego certyfikatu. Po takim długim czasie najprawdopodobniej zapomnisz czego uczyłeś się kilka miesięcy temu :), o ile tego już nie praktykujesz zawodowo.
Na co w szczególności zwrócić uwagę:
Staraj się zrozumieć tematy tak jakie: minimalne pokrycie, testowanie konfiguracji, MTTR, WAMMI, SUMI, i wszystkie definicje odnośnie technik testowania na podstawie specyfikacji (są one najlepiej punktowane na egzaminie).
Gdy masz zadanie z analizą wartości brzegowych warto zwrócić uwagę, że często te zagadnienia dotyczą również różnych klas równoważności. Zadania z zakresu ISTQB Advanced level lubią łączyć ze sobą te 2 techniki. Również w pracy zawodowej często będziesz korzystać z analizy wartości brzegowych oraz klas równoważności.
Zignoruj wszystkie zadania, w których jest mowa o normach, nie będziesz mieć tego na egzaminie, a standardy/normy ciągle się zmieniają.
Wiele zadań z tablicami decyzyjnymi polega na obliczeniu liczby przypadków testowych na podstawie liczby warunków (to po prostu potęga dwóch).
Gdy istnieje grupa zadań z tym samym diagramem lub opisem, po przejściu dalej, możliwe że znajdziesz rozwiązanie pierwszego zadania w treści kolejnego – zwróć na to uwagę.
Nie polegaj na zapamiętywaniu, ponieważ niektóre zadania są nieznacznie zmienione podczas egzaminu (nigdy nie ucz się na pamięć odpowiedzi!).
Samym uczeniem się tylko z książki i sylabusa nie zaliczysz tego testu, musisz praktykować.
Certyfikat online czy klasycznie w centrum egzaminacyjnym?
Zdawałem oba, zdecydowanie mogę Ci polecić podejście do certyfikacji online – mniej stresu, więcej czasu zaoszczędzisz (zdecydowanie). Online też możesz robić notatki, więc w zasadzie nic nie tracisz w porównaniu z klasycznym podejściem do certyfikacji.
Jak się uczyć do egzaminu:
Przeczytaj sylabusy FL -> podejdź do egzaminu FL,
Przeczytaj szczegółowo Sylabus TA, przećwicz techniki testowe na próbnych egzaminach TA.
Czytaj uważnie pytania, najlepiej kilka razy.
Naucz się korzystać z technik testowych – opanuj je w praktycznych zadaniach i zastosowaniach, uważam że na to powinieneś postawić największy nacisk, to zaprocentuje również w pracy zawodowej.
Podkreślaj i zwracaj szczególną uwagę na wszystkie słowa kluczowe, takie jak „zawsze”, „nigdy”, „trzeba”. Skorzystaj z zasady wykluczenia! Zwróć uwagę na klasyfikatory, takie jak „zwykle”, „ogólnie”, „przeważnie”, “w tej sytuacji”!
Jeśli pytanie jest niejasne, warto najpierw przyjrzeć się odpowiedziom.
Jeżeli tekst wprowadzający jest bardzo długi i zawiera tabele lub rysunki – zwróć uwagę najpierw na pytanie i odpowiedz, później na tabelę lub grafikę, a następnie przeczytaj ponownie tekst. To może pomóc Ci zaoszczędzić cenny czas.
Odpowiedzi zawierające słowa „ryzyko”, „jakość” są często prawidłowe.
Jeśli nie wiesz jak odpowiedź jest prawidłowa zaznacz cokolwiek!
Wskazówki dotyczące lepszej wydajności na egzaminie:
1) Przeczytaj uważnie Sylabus i dobrze go przestudiuj, staraj się dokładnie zrozumieć opisywane zagadnienia.
2) Rozwiąż jak najwięcej pytań testowych, aby zapoznać się ze sformułowaniem pytań, a także z ich rodzajami.
3) Chociaż jest to egzamin trwający stosunkowo długo (2h – 2019 v.) lub (3h – 2012 v.) zależenie od wersji, nadal będziesz odczuwać, że trudno jest dokładnie przestudiować cały test. Dlatego na początek przestudiuj cały artykuł, odpowiadając na pytania, które są proste i na które znasz odpowiedź.
4) Jeśli dobrze się przygotowałeś, możesz odpowiedzieć na 65 pytań w mniej niż 100 minut.
Podczas nauki do testu koniecznie zwróć uwagę na poniższą piramidę skutecznej nauki. Wynika z niej że, zdecydowanie najlepszym sposobem uczenia się jest rozmowa z innymi testerami na dany temat oraz tłumaczenie i uczenie innych ludzi! Także zachęcam Cię do aktywnego zdobywania wiedzy 🙂
Testowanie oprogramowania służy do zrozumienia i oceny prawidłowego działania aplikacji. Zawodowi testerzy oprogramowania podczas rozwijania swoich umiejętności wraz z nabywaniem doświadczenia często certyfikują się i specjalizują w pewnych dziedzinach “gałęziach” inżynierii oprogramowania.
Certyfikaty z zakresu testowania oprogramowania to rodzaje egzaminów, które mogą znacznie wyróżnić zawodowo certyfikowaną osobę. Certyfikat ma również za zadanie potwierdzenie kompetencji w zakresie testowania oprogramowania.
Karierę można rozwijać, przechodząc stopniowo kolejne poziomy w inżynierii oprogramowania, tak aby finalnie stać się ekspertem w tej dziedzinie.
Poniżej zestawiłem najważniejsze certyfikaty z zakresu testowania oprogramowania, do których możesz przystąpić w 2021 r.
ISTQB to jeden z wiodących certyfikatów testowania oprogramowania w świecie IT, który ma globalny charakter. Z siedzibą w Belgii, posiada centra egzaminacyjne na całym świecie. Jest postrzegany jako jeden z najbardziej wartościowych certyfikatów do zdobycia. W wielu firmach jest to pozycja wymagana do podjęcia pracy w zawodzie związanym z testowaniem/jakością oprogramowania. W ramach ISTQB istnieje kilka poziomów certyfikacji, od poziomu początkującego poprzez poziom zaawansowany aż do poziomu eksperta.
Dodatkowe wymagania odnośnie tego certyfikatu to określony program oraz standardy, które należy spełnić przed przystąpieniem do egzaminu.
Ten certyfikat jest wydawany przez Quality Assurance Institute w USA. Do udziału w tym kursie można zakwalifikować się tylko wtedy, gdy masz trzy lub czteroletnie doświadczenie w dziedzinie informatyki lub jeśli ukończyłeś uniwersystet i posiadasz roczne doświadczenie w zawodzie testera oprogramowania.
Również ten certyfikat jest prowadzony przez Quality Assurance Institute w USA. Jest to poziom średniozaawansowany w certyfikacji dla testerów oprogramowania. Do przystąpienia kwalifikują się osoby z minimum pięcioletnim doświadczeniem w tej dziedzinie.
Organizacja dostarcza zarejestrowanym studentom uporządkowanego materiału wysokiej jakości w celu przygotowania się do egzaminu.
Po ukończeniu certyfikacji na poziomie początkującym i średniozaawansowanym można przejść do poziomu eksperta (wraz z nabyciem doświadczenia zawodowego), aby doskonalić się i dowiedzieć więcej o zaawansowanym testowaniu oprogramowania.
Powyżej wymieniłem 3 najlepsze certyfikaty z testowania oprogramowania dostępne w 2021 r. – które możesz rozważyć, w celu rozwinięcia swojej kariery! 🙂
Jeśli chcesz zostać mistrzem w dziedzinie automatyzacji oprogramowania, zachęcam Cię do przeczytania tego wpisu i przedstawię Ci rzemieślnicze podejście do tematu. Czym właściwie jest zdobycie mistrzostwa w dziedzinie automatyzacji?
To zdecydowanie więcej niż tylko bycie specjalistą w swojej dziedzinie, dostarczanie wysokiej jakości kodu i wartości biznesowej. Chodzi o traktowanie inżynierii oprogramowania jako stylu życia poprzez ciągłe doskonalenie – małymi kroczkami każdego dnia. Nie jest istotne czym się zajmujesz lub w jakiej dziedzinie się specjalizujesz – czy piszesz dokumentację, kod, poznajesz nowe Frameworki, czy nawet przycinasz trawę na swoim podwórku :). Najważniejsze, że trzymasz postawę rzemieślnika i codziennie starasz się być lepszy niż byłeś wczoraj. W tym procesie zawsze porównuj się tylko ze sobą z przeszłości. Osobiście definiuję to jako zasadę “Men in the Mirror” – dokładnie tak, jak słynna piosenka M.J.’a.
Jako rzemieślnik, na drodze do uzyskania najlepszych wyników, należy szukać najprostszych rozwiązań i wybierać narzędzia najlepiej pasujące do danej pracy. Rzemieślnik nie przywiązuje się do narzędzia, rzemieślnik poświęca całą swoją uwagę wykonanej pracy. W przypadku inżynierii oprogramowania wykorzystując to podejście, ważne jest, aby skupić się na rozwiązaniu problemu, a nie na pisaniu kodu(nie jesteś menedżerem – nie musisz pisać dokumentu na kilka stron, który nie zawiera konkretnych informacji:) Rzemieślnik rozumie procesy i zawsze stara się wykonywać swoją robotę w taki sposób, aby jak najbardziej uprościć również pracę innych członków swojego zespołu -> czy to programistów, testerów lub managerów.
Jeśli chcesz zostać prawdziwym rzemieślnikiem i opanować perfekcyjnie swoją dziedzinę, musisz być przy tym odważny i uczciwy. Czasami trzeba włożyć wiele wysiłku, aby zrealizować swoje plany i osiągnąć więcej niż inni ludzie. Bycie uczciwym wiąże się również z odmową. Rzemieślnik jest stanowczy, aby powiedzieć “nie”, gdy jest to konieczne bez względu na czyjąś opinię. Mówienie “nie” jest również profesjonalnym podejściem.
Czy ty również stosujesz rzemieślnicze podejście w swoim życiu zawodowym?
Git jest podstawowym narzędziem potrzebnym do nauki automatyzacji -> bez względu na używany język programowania!. Jest czymś w rodzaju “fundamentu” do budowy domu (w tym przypadku Twojej aplikacji :). Bardziej oficjalnie jest to software typu open-source: rozproszony system kontroli wersji przechowujący pełną historię wersji projektu w jednym miejscu.
Opis:
Komenda Gita:
Konfiguruje nazwę ->
git config --global user.name "name"
Tworzy nowe lokalne repozytorium ->
git init
Tworzy kopię roboczą lokalnego repozytorium ->
git clone /path/to/repo
Klonuje repozytorium ->
git clone username@host:/path/to/repo
Polecenie dodania jednego pliku ->
git add <particular file>
Dodanie wszystkich plików ->
git add *
Wyślij zmiany z treścią ->
git commit -m " message"
Wyślij pliki ->
git commit -a
Wypchnij zmiany do głównej gałęzi zdalnego repozytorium ->
git push origin master
Aktualny status plików do zmiany/dodania/zatwierdzenia ->
git status
Połącz się ze zdalnym repozytorium – dodaj serwer, aby móc do niego wypchnąć ->
git remote add origin <server>
Lista wszystkich aktualnie skonfigurowanych repozytoriów zdalnych ->
git remote -v
Utwórz nową gałęź i przejdź do niej ->
git checkout -b <branchname>
Przełącz się z jednej gałęzi do drugiej ->
git checkout <branchname>
Wypisz wszystkie gałęzie w swoim repozytorium ->
git branch
Usuń gałąź funkcji ->
git branch -d <branchname>
Wypchnij gałąź do zdalnego repozytorium, aby inni mogli z niego korzystać ->
git push origin <branchname>
Wypchnij wszystkie gałęzie do zdalnego repozytorium ->
git push --all origin
Usuń gałąź w swoim zdalnym repozytorium ->
git push origin :<branchname>
Pobierz i scal zmiany na serwerze zdalnym do katalogu roboczego ->
git pull
Scal gałąź z aktywną/bieżącą gałęzią ->
git merge <branchname>
Wyświetl wszystkie konflikty scalania ->
git diff
Zobacz konflikty z plikiem podstawowym ->
git diff --base <filename>
Wyświetl podgląd zmian przed scaleniem ->
git diff <sourcebranch> <targetbranch>
Możesz użyć tagowania, aby oznaczyć znaczący zestaw zmian, taki jak wydanie – CommitId to identyfikator zestawu zmian, max 10; musi być unikalne ->
git tag 1.0.0 <commitID>
Wyświetla zatwierdzenia dokonane w tym repozytorium w odwrotnej kolejności chronologicznej; to znaczy, najnowsze zatwierdzenia pojawiają się jako pierwszą ->
git log
Wypcha wszystkie tagi do zdalnego repozytorium ->
git push --tags origin
Jeśli się pomylisz, możesz zastąpić zmiany w drzewie roboczym ostatnią zawartością w nagłówku ->
git checkout -- <filename>
Zmiany już dodane do indeksu oraz nowe pliki zostaną zachowane. Zamiast tego, aby porzucić wszystkie lokalne zmiany i zatwierdzenia, pobrać najnowszą historię z serwera i wskazać na nią lokalną gałąź master, wykonaj następujące czynności ->
Ten post jest wprowadzeniem do interfejsów API, testowania API i ich znaczenia w świecie testów. Postaram się wyjaśnić Ci najprościej jak się da, dlaczego testy API są tak istotną inwestycją czasową w Twoim projekcie!
Systemy informatyczne stają się coraz bardziej rozproszone, a aplikacje i urządzenia są coraz bardziej ze sobą połączone, wykorzystanie interfejsów API odnotowuje wzrost popularności w ciągu ostatnich kilku lat.
Tradycyjne (lub inaczej staromodne) systemy komputerowe miały charakter monolityczny, zostały zastąpione i obecnie często składają się one z komponentów wielokrotnego użytku, które komunikują się i wymieniają informacje między sobą za pośrednictwem różnych interfejsów API.
Interfejsy API stają się również coraz bardziej powszechne, co powoduje że właściwe testowanie tych interfejsów stało się sporym problemem zarówno dla dostawców API, jak i użytkowników. Jako dostawca nie chcesz być powiązany z interfejsem API o niskiej jakości. Jako użytkownik nie chciałbyś, aby Twój system oprogramowania lub Twoja firma polegały na wadliwym interfejsie API. Żeby właściwie ocenić, czy dane wyjściowe podane przez API są poprawne, tester musiałby wiedzieć przynajmniej coś o wewnętrznym działaniu API (tj. Przeprowadzić testy białoskrzynkowe zamiast tradycyjnych testów czarnoskrzynkowych). Może to sprawić, że testowanie API będzie się wydawać „trudne”.
Testowanie API jest ostatnio jeszcze ważniejsze, ponieważ w obecnej fali warstwowych systemów informacyjnych reguły biznesowe i logika biznesowa są często kodowane i egzekwowane w warstwie API (a nie na przykład w interfejsie użytkownika lub warstwie bazy danych).
SHOW DATABASES SHOW TABLES SHOW FIELDS FROM table / DESCRIBE table SHOW CREATE TABLE table SHOW PROCESSLIST KILL process_number
Wybór elementów z bazy
SELECT * FROM table SELECT * FROM table1, table2, … SELECT field1, field2, … FROM table1, table2, … SELECT … FROM … WHERE condition SELECT … FROM … WHERE condition GROUPBY field SELECT … FROM … WHERE condition GROUPBY field HAVING condition2 SELECT … FROM … WHERE condition ORDER BY field1, field2 SELECT … FROM … WHERE condition ORDER BY field1, field2 DESC SELECT … FROM … WHERE condition LIMIT 10 SELECT DISTINCT field1 FROM … SELECT DISTINCT field1, field2 FROM …
Wybór/Łącznie rekordów w bazie
SELECT … FROM t1 JOIN t2 ON t1.id1 = t2.id2 WHERE condition SELECT … FROM t1 LEFT JOIN t2 ON t1.id1 = t2.id2 WHERE condition SELECT … FROM t1 JOIN (t2 JOIN t3 ON …) ON …
Wstawianie do bazy
INSERT INTO table1 (field1, field2, …) VALUES (value1, value2, …)
Usuwanie w bazie
DELETE FROM table1 / TRUNCATE table1 DELETE FROM table1 WHERE condition DELETE FROM table1, table2 FROM table1, table2 WHERE table1.id1 = table2.id2 AND condition
Aktualizowanie w bazie
UPDATE table1 SET field1=new_value1 WHERE condition UPDATE table1, table2 SET field1=new_value1, field2=new_value2, … WHERE table1.id1 = table2.id2 AND condition
CREATE TABLE table (field1 type1, field2 type2, …) CREATE TABLE table (field1 type1, field2 type2, …, INDEX (field)) CREATE TABLE table (field1 type1, field2 type2, …, PRIMARY KEY (field1)) CREATE TABLE table (field1 type1, field2 type2, …, PRIMARY KEY (field1,field2)) CREATE TABLE table1 (fk_field1 type1, field2 type2, …, FOREIGN KEY (fk_field1) REFERENCES table2 (t2_fieldA)) [ON UPDATE|ON DELETE] [CASCADE|SET NULL] CREATE TABLE table1 (fk_field1 type1, fk_field2 type2, …, FOREIGN KEY (fk_field1, fk_field2) REFERENCES table2 (t2_fieldA, t2_fieldB)) CREATE TABLE table IF NOT EXISTS (…) CREATE TEMPORARY TABLE table (…) DROP TABLE table DROP TABLE IF EXISTS table DROP TABLE table1, table2, … ALTER TABLE table MODIFY field1 type1 ALTER TABLE table MODIFY field1 type1 NOT NULL … ALTER TABLE table CHANGE old_name_field1 new_name_field1 type1 ALTER TABLE table CHANGE old_name_field1 new_name_field1 type1 NOT NULL … ALTER TABLE table ALTER field1 SET DEFAULT … ALTER TABLE table ALTER field1 DROP DEFAULT ALTER TABLE table ADD new_name_field1 type1 ALTER TABLE table ADD new_name_field1 type1 FIRST ALTER TABLE table ADD new_name_field1 type1 AFTER another_field ALTER TABLE table DROP field1 ALTER TABLE table ADD INDEX (field);
Zmień kolejność pól -> ALTER TABLE table MODIFY field1 type1 FIRST ALTER TABLE table MODIFY field1 type1 AFTER another_field ALTER TABLE table CHANGE old_name_field1 new_name_field1 type1 FIRST ALTER TABLE table CHANGE old_name_field1 new_name_field1 type1 AFTER another_field
Warunki
field1 = value1 field1 <> value1 field1 LIKE 'value _ %' field1 IS NULL field1 IS NOT NULL field1 IS IN (value1, value2) field1 IS NOT IN (value1, value2) condition1 AND condition2 condition1 OR condition2
Użytkownicy i uprawnienia
GRANT ALL PRIVILEGES ON base.* TO 'user'@'localhost' IDENTIFIED BY 'password'; GRANT SELECT, INSERT, DELETE ON base.* TO 'user'@'localhost' IDENTIFIED BY 'password'; REVOKE ALL PRIVILEGES ON base.* FROM 'user'@'host'; -- one permission only REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'host'; -- all permissions SET PASSWORD = PASSWORD('new_pass') SET PASSWORD FOR 'user'@'host' = PASSWORD('new_pass') SET PASSWORD = OLD_PASSWORD('new_pass') DROP USER 'user'@'host' host ‘%’ indicates any host.
Główne typy danych
TINYINT (1o: -217+128) SMALLINT (2o: +-65 000) MEDIUMINT (3o: +-16 000 000) INT (4o: +- 2 000 000 000) BIGINT (8o: +-9.10^18) Precise interval: -(2^(8N-1)) -> (2^8N)-1 /!\ INT(2) = "2 digits displayed" -- NOT "number with 2 digits max" FLOAT(M,D) DOUBLE(M,D) FLOAT(D=0->53) /!\ 8,3 -> 12345,678 -- NOT 12345678,123! TIME (HH:MM) YEAR (AAAA) DATE (AAAA-MM-JJ) DATETIME (AAAA-MM-JJ HH:MM; années 1000->9999) TIMESTAMP (like DATETIME, but 1970->2038, compatible with Unix) VARCHAR (single-line; explicit size) TEXT (multi-lines; max size=65535) BLOB (binary; max size=65535) Variants for TEXT&BLOB: TINY (max=255) MEDIUM (max=~16000) LONG (max=4Go) Ex: VARCHAR(32), TINYTEXT, LONGBLOB, MEDIUMTEXT ENUM ('value1', 'value2', …) -- (default NULL, or '' if NOT NULL)
mysql - u Username -p DatabaseName < databasename_backup.sql
Resetuje hasło roota
$ /etc/init.d/mysql stop $ mysqld_safe --skip-grant-tables $ mysql # on another terminal mysql> UPDATE mysql.user SET password=PASSWORD('new_pass') WHERE user='root'; Switch back to the mysqld_safe terminal and kill the process using Control + \ $ /etc/init.d/mysql start
Zaczynamy. Dzisiaj odpowiem Ci, dlaczego poznanie Gatlinga jest najlepszym sposobem na rozpoczęcie przygody z testowaniem obciążeniowym/wydajnościowym w Twoim projekcie.
Z krótkiego oficjalnego wprowadzenia na stronie Galinga -> https://gatling.io/, możemy dowiedzieć się czym tak w ogóle jest Gatling: „Gatling is a powerful open-source load testing solution. Gatling is designed for continuous load testing and integrates with your development pipeline. Gatling includes a web recorder and colorful reports.„
Poniżej zestawiam 10 powodów, dla których wykorzystanie Gatlinga w Twoim projekcie jest świetnym pomysłem:
0 Gatling jest frameworkiem typu open-source!
1 Gatling ma x5 więcej postów na StackOverflow niż inne bardzo popularne frameworki wydajnościowe … a to wiele ułatwia 🙂
2 Gatlinga można uruchomić na dowolnym systemie operacyjnym!
3 Możesz pisać testy wydajnościowe jako kod źródłowy!
4 Gatling posiada szczegółowe metryki / raporty “Out of the Box” – w przejrzysty sposób zaprezentujesz rezultaty testów.
5 Gatling posiada mocny Engine napisany w języku Scala Warto również znać podstawy języka Scala, w tym celu polecam zapoznać się z poniższym video:
6 Gatling ma zintegrowane asercje API, więc daje Ci pełny zestaw narzędzi do wykonywania funkcjonalnych asercji.
7 Gatling może być w pełni zintegrowany przy użyciu wiersza poleceń, dzięki czemu jest kompatybilny z każdą platformą CI(na przykład z Twoim Jenkinsem).
9 Gatling ma możliwość przeprowadzania testów z poziomu interfejsu użytkownika poprzez intuicyjny Recorder!
Dodatkowo warto dodać, że Gatling bardzo szybko zyskuje na popularności -> kilka miesięcy temu, kiedy to przypadkowo zwróciłem uwagę na liczbę pobrań to było około 2 milionów … a po 3-4 miesiącach jest to już prawie 5 milionów!
W tym wideo pokrótce przedstawiam wnioski wynikające z powyższych podpunktów: