Przetestuj z Finture
Testy funkcjonalne
Od 7 lat testujemy najbardziej skomplikowane systemy IT. Firmy z różnych branż nawiązują z nami współpracę, aby usprawnić i uzupełnić cykl wytwarzania oprogramowania o dodatkowych konsultantów oraz podnieść jakość dostarczanych projektów IT. Konsultanci Finture wykonują testy od wczesnych etapów cyklu życia oprogramowania, co pozwala na jak najwcześniejsze wykrycie ewentualnych problemów, tym samym zmniejszając ogólne koszty korekt wynikających z wykrycia odchyleń na późniejszych etapach.
Nasze podejście do testowania funkcjonalnego jest ustrukturyzowane i opiera się na sprawdzonych w wielu projektach technikach testowania, narzędziach, gotowych akceleratorach testów oraz metodach zgodnych z uznanymi na całym świecie standardami. Dzięki temu możemy zagwarantować, że zarówno nowe funkcjonalności, jak i wprowadzone zmiany, będą odpowiednio zweryfikowane przed wdrożeniem na środowisko produkcyjne.
Testy oparte o dokumentację
Testowanie funkcjonalne jest oparte o historie użytkowników, scenariusze i przypadki testowe. Proces zawiera: • Najlepsze możliwe podejście, opracowane i zoptymalizowane podczas przeglądu dokumentacji (wymogów/SLA/historii użytkowników). • Wykorzystanie wewnętrznych metod i narzędzi monitorujących. • Analiza postępów i rezultatów, pozwalająca na optymalizację procesu przy użyciu Metodyki Soflab TESt.
Testy zorientowane na proces
Celem jest pokrycie jak największej ilości funkcjonalności testami w wyznaczonym czasie. Celem jest zidentyfikowanie wszystkich błędów w fazie preprod. Cechy testów zorientowanych na proces: • Produkt jest dobrze rozumiany, a funkcjonalności biznesowe są poddawane szczegółowej analizie i priorytetyzacji. • Tworzone są efektywne kanały komunikacji, znacznie usprawniające współpracę Twojego zespołu i specjalistów QA. • Defekty i zmiany w zakresie UX są raportowane natychmiast.
Testy eksploracyjne
Testowanie eksploracyjne jest techniką równoczesnego uczenia się aplikacji i weryfikacji jej funkcjonowania. Technika idealnie nadaje się do testów aplikacji internetowych i jest szeroko stosowana w projektach informatycznych o niedostatecznej ilości dokumentacji. Testowanie odbywa się w oparciu o idee testowe, sformułowanie krótkiego opisu tego, co będziemy chcieli osiągnąć. Proces zawiera sesje, składające się z elementów: • nauka – praca bez dokumentacji • projektowanie • wykonanie • raportowanie
Testy akceptacyjne UAT
Ostatni etap QA w cyklu tworzenia oprogramowania. Weryfikują ocenę do oczekiwań użytkowników i nadają finalną wizję przed samym upublicznieniem produktu.
Testy aplikacji mobilnych
Rozwiązania mobilne są tworzone przede wszystkim dla Klientów, dlatego każde takie rozwiązanie powinno być kompleksowo sprawdzone pod kątem wydajności, komunikacji z API, funkcjonalności i użyteczności. Im dokładniejsze testy, tym większa pewność, że aplikacja nie będzie stwarzać problemów użytkownikowi końcowemu. Zakres usług: • Wieloplatformowe testy automatyczne • Testy bezpieczeństwa aplikacji na urządzeniach mobilnych • Testy wydajnościowe z emulowaniem parametrów sieci • Testy integracji aplikacji mobilnej z systemami korporacyjnymi
Automatyzacja testów
Zautomatyzuj powtarzalne testy systemu lub aplikacji i skoncentruj się na testach w obszarach rozwojowych. Eksperci Soflab Technology na podstawie wieloletniego doświadczenia projektowego tworzą efektywne i optymalne kosztowo rozwiązania: • Automatyzacji testów GUI aplikacji web i desktop • Automatyzacji testów aplikacji mobilnych Android, iOS • Automatyzacji testów integracyjnych (API) • Automatyzacji weryfikacji rozległych środowisk testowych • Wdrożeniu rozwiązań automatyzacji w skali Enterprise również do automatyzacji lub dla systemu SAP
Testy API
Rest api, Soap – testy techniczne z wykorzystaniem narzędzi typu JMeter, Postman, SoapUI i Tosca.
Testy API automatyczne – integracja z pipeline DevOps
Część testów przeprowadzanych manualnie można zautomatyzować. Dzięki temu oszczędzamy sporo czasu skracając proces testowy. To jednak niejedyny atut automatyzacji. Testy automatyczne mogą być wykonywane bez udziału testera, a czas ich uruchomienia można ustawić na dowolną godzinę. Dodatkowo, testy automatyczne eliminują ryzyko popełniania błędów w wyniku rutyny czy zmęczenia. Jednak największą ich zaletą jest zgodność z praktyką i filozofią działania DevOps CI/CD (Continuous integration/Continuous delivery or deployment). Po dołączeniu skryptów testów automatycznych API do servera ciągłej integracji stają się one testami regresji.
Testy API - wydajnościowe
Testy wydajnościowe polegają na symulowaniu obciążenia oraz obserwacji systemu pod kątem czasu odpowiedzi i zużycia zasobów. Ręczne wykonanie tego typu testów jest bardzo trudne lub wręcz niemożliwe. Dlatego w tym przypadku, najczęściej przeprowadzane są testy zautomatyzowane. Testy wydajnościowe z wykorzystaniem API są jedną z prostszych metod na uzyskanie odpowiedzi na pytanie o skalowalność naszego systemu. Równocześnie nie wymagają wykorzystania wyspecjalizowanych „frameworków” i pisania zaawansowanych skryptów.
Testy API - bezpieczeństwa
Testy bezpieczeństwa API mają na celu ocenę aplikacji pod kontem podatności na zagrożenia z zewnątrz. Kontrolowane próby przełamania zabezpieczeń ujawniają miejsca nieodporne na ataki. Badaniu poddajemy przede wszystkim takie obszary jak: • autoryzacja użytkowników, • kontrola dostępów, • zezwolenia i uprawnienia. Istotną kwestię stanowi weryfikacja bezpieczeństwa już na początkowym etapie wytwórczym, zaplanowana na poziomie testów jednostkowych, integracyjnych i systemowych. Wczesne podjęcie tego typu działań, zwiększa efektywność przeprowadzanych testów.
Testy API - integracyjne
Testy integracyjne wykonuje się na etapie tworzenia (developmentu) aplikacji. Wykorzystanie API do testów integracyjnych jest najczęściej stosowaną metodą, używaną przez doświadczone zespoły, która umożliwia weryfikację systemu jeszcze przed powstaniem GUI. Testy API i testy integracyjne często są postrzegane jako synonimy, opisujące działania na tym etapie.
Testy bezpieczeństwa
Weryfikacja dokumentacji projektowej pod kątem założeń bezpieczeństwa
Zapewniamy kompleksowe uzgodnienie każdego projektu z aktualnie obowiązującymi regulacjami prawnymi, w tym RODO. Dołączenie specjalisty od bezpieczeństwa do zespołu wdrożeniowego już na etapie projektowania danego rozwiązania, pozwala na uniknięcie wielu błędów oraz daje szanse na duże oszczędności w późniejszym etapie cyklu życia aplikacji lub infrastruktury IT.
Testy penetracyjne
Wykonujemy testy penetracyjne, czyli kontrolowane próby przełamania zabezpieczeń, w zależności od potrzeb Klientów bez znajomości szczegółów budowy systemu (testy black-box), z częściową wiedzą (grey-box), jak i testy połączone z przeglądem kodu (testy white-box).
Testy bezpieczeństwa przeprowadzamy w oparciu o standardy OWASP (Open Web Application Security Project), w szczególności OWASP TOP 10 Classification, OWASP ASVS (Application Security Verifiication Standard) i OWASP Testing Guide 4.0 (w tym najlepsze praktyki w testowaniu bezpieczeństwa).
Wykonujemy testy bezpieczeństwa aplikacji mobilnych z wykorzystaniem emulatorów oraz na fizycznych urządzeniach mobilnych, w oparciu o klasyfikację podatności i zagrożeń z listy TOP 10 Mobile Risks organizacji OWASP.
Audyt konfiguracji zabezpieczeń infrastruktury, poszczególnych systemów/usług
Audyt przeprowadzamy za pomocą technik manualnych oraz przy użyciu narzędzi automatycznych.
Obejmuje:
- analizę,
- weryfikację podejścia do konfiguracji,
- sprawdzenie bezpieczeństwa konfiguracji z użyciem narzędzi automatycznych
- i analizę ryzyka opartego na wynikach i zalecenia optymalizacji bezpieczeństwa.
Przedmiotem testów są m.in.:
- uprawnienia,
- nieautoryzowany dostęp,
- konfiguracja
- oraz brakujące poprawki.
Testowanie odporności na ataki DoS/DDoS
Celem jest wykrycie braku ochrony przed niechcianymi działaniami, co prowadzi do zablokowania dostępu do danej usługi w Internecie. Weryfikujemy najczęstsze rodzaje ataków DDoS:
- UDP flood attack
Wykonywane przez dedykowane skrypty, które generują pakiety UDP o losowych rozmiarach i przedziałach czasowych przypisanych do szacowanego obciążenia. - HTTP flood attack
Na podstawie symulacji różnych metod (POST i GET) obsługiwanych przez aplikację. Wygenerowany ruch aplikacji nie będzie odpowiadał standardowemu użytkownikowi, ale oczekiwanemu obciążeniu zasobów.
Audyt statyczny kodu źródłowego
Głównym celem jest zidentyfikowanie nieskutecznych konstrukcji i fragmentów kodu, które odzwierciedlają złe praktyki programistyczne lub błędy bezpieczeństwa. Analiza statyczna pozwala:
- zwiększyć wydajność i stabilność,
- unikać typowych błędów programowania,
- narzucać zasady i standardy kodowania,
- zwiększyć bezpieczeństwo na każdym kolejnym etapie testowania.
Analiza oparta jest na standardach OWASP, w szczególności na klasyfikacji OWASP Top 10 i OWASP Mobile Top 10, ale także na weryfikacji zgodności z: SANS 25, HIPAA, Mitre CWE, CVE NIST, PCI DSS, MISRA, BSIMM.
Testy socjotechniczne, testy procedur i zabezpieczeń fizycznych
Nasi audytorzy przeprowadzą kontrolowany atak socjotechniczny, aby zweryfikować poziom zabezpieczeń, przestrzegania procedur bezpieczeństwa oraz poziom świadomości bezpieczeństwa informacji w organizacji np.:
- próba nakłonienia pracownika do uruchomienia oprogramowania z dostarczonego pendrive;
- kampania e-mailingowa;
- próba nieautoryzowanego wejścia do budynku.
Możliwe jest przeprowadzenie szkolenia dla pracowników z zakresu bezpieczeństwa teleinformatycznego i aktualnych zagrożeń technicznych i socjotechnicznych.
Zainteresowany? Wybierz bezpłatną konsultację.
Jak to robimy?
Każda zapora może zostać przerwana, jest to tylko kwestia czasu i umiejętności. Zawsze jest ryzyko. Nasza usługa polega na tym, aby je zminimalizować.
- Identyfikujemy podatności firmy oraz funkcjonujących w niej systemów na świadome i nieświadome incydenty bezpieczeństwa.
- Oceniamy zdolność do wykrywania i wytrzymania typowych ataków.
- Pomagamy w określeniu krytycznych zmian lub działań w zakresie bezpieczeństwa i w przygotowaniu planu działań budujących bezpieczeństwo w firmie.
Angażujemy się w różnych momentach cyklu rozwoju oprogramowania. To wyróżniające nas na rynku podejście pozwala nam wspierać naszych Klientów na każdym etapie projektu, umożliwiając zaplanowanie niezbędnych prac testowych, identyfikacje potencjalnych zagrożeń i wyznaczenie założeń projektowych dla wdrażanego rozwiązania. Dostarczamy praktyczne wnioski w przejrzystej formie. Raport wyników zawiera opis rekonstrukcji błędu, możliwe zagrożenia i działania naprawcze.
Technika testowania
Podczas testów zostaną wykorzystane ręczne i automatyczne techniki testowania. Obie wzajemnie się uzupełniają:
- Wykorzystujemy różne narzędzia automatyczne, jak np. Nessus, Burp Proxy Professional, OWASP ZAP, SOAP UI, Metasploit oraz własny framework programistyczny, co zmniejsza ryzyko pomijania luk bezpieczeństwa przez jeden z programów.
- Audyt ręczny obejmuje manualną weryfikację aplikacji lub podatności i służy do wykrywania błędów logicznych, lub zaimplementowanej funkcjonalności. Ręczne przeprowadzanie ataków pozwala na efektywne pomijanie lub analizę filtrów ochrony zaimplementowanej w aplikacji oraz systemach firewall.
Zautomatyzuj powtarzalne testy systemu lub aplikacji
i skoncentruj się na testach w obszarach rozwojowych. Eksperci Soflab Technology na podstawie wieloletniego doświadczenia projektowego tworzą efektywne i optymalne kosztowo rozwiązania:
Small & Startup
Medium/MiŚP
Enterprise
Automatyzacji testów GUI aplikacji web i desktop
Automatyzacji testów integracyjnych (API)
Wdrożeniu rozwiązań automatyzacji w skali Enterprise również do automatyzacji lub dla systemu SAP
Automatyzacji testów aplikacji mobilnych Android, iOS
Automatyzacji weryfikacji rozległych środowisk testowych
Automatyzacji tworzenia danych testowych
Zainteresowany? Wybierz bezpłatną konsultację.
Korzyści z automatyzacji testów systemów i aplikacji
Optymalizacja kosztów
- Niższa pracochłonność testów regresji
- Możliwość jednoczesnej weryfikacji wielu użytkowników, przeglądarek, urządzeń mobilnych oraz konfiguracji i zestawów danych
- Redukcja pracochłonności w zespole testów manualnych
Czas realizacji
- Skrócenie czasu wykonywania testów
- Możliwość uruchomienia testów w dowolnym momencie (tryb 24/7)
- Możliwość równoczesnego wykonywania testów automatycznych na różnych środowiskach
Jakość
- Automatyczna weryfikacja danych przetwarzanych przez aplikacje
- Powtarzalność testów oraz eliminacja błędów ludzkich
- Rozszerzony obszar aplikacji objęty testami