Jak migrować kod legacy do Symfony? Tips & tricksXSolve
Masz do czynienia z legacy kodem i zastanawiasz się jak zacząć go przepisywać do Symfony? W tej prezentacji postaramy się podpowiedzieć, jak zacząć migrować kod starej aplikacji bez przerywania jej działania i konieczności przepisywania całości za jednym razem.
Jak migrować kod legacy do Symfony? Tips & tricksXSolve
Masz do czynienia z legacy kodem i zastanawiasz się jak zacząć go przepisywać do Symfony? W tej prezentacji postaramy się podpowiedzieć, jak zacząć migrować kod starej aplikacji bez przerywania jej działania i konieczności przepisywania całości za jednym razem.
Dobry system musi być przetestowany pod względem wydajnościowym. Takie testy są zupełnie inne niż testy funkcjonalne: zamiast binarnego rezultatu (pass, fail), mamy ogromne ilości danych do zebrania, zaprezentowania i zinterpretowania. Podczas wystąpienie prelegent omówi cały cykl testów wydajnościowych: od przygotowania warunków testu, środowisk i danych testowych, poprzez przeprowadzenie testów, zebranie danych, ich prezentację i interpretacje, aż po przeprowadzenie procesów decyzyjnych wynikających z danych.
Continuous Integration w konfiguracji urządzeń sieciowychDreamLab
Konfigurowanie urządzeń sieciowych można traktować jak pisanie kodu. To co programiści znają jako continous integration może być wykorzystane również w zarządzaniu siecią, nawet tak dużą jak w Grupie Onet-RAS Polska. Na PLNOG Piotr Pieprzycki przedstawilł model w jakim wprowadzamy w DreamLabie zmiany w naszym środowisku i z jakimi problemami zetknęliśmy się po drodze.
Visual Studio – jak zorganizować pracę używając Scrum i GIT?Tomasz Kopacz
Video: https://channel9.msdn.com/Series/Visual-Studio-jak-zorganizowac-prace-uzywajac-Scrum-i-GIT
Jednym z najważniejszych czynników zapewniających właściwą jakość oprogramowania jest proces wytwórczy. W tym materiale pokażę w jaki sposób przy użyciu Visual Studio Team Services (dawniej Visual Studio Online) albo Team Foundation Services zainstalowanego na własnych maszynach zorganizować pracę zespołu programistów. Przyglądam się bliżej o co chodzi w ALM i DevOps, omawiam (krótko niestety) jak to funkcjonuje w środku Microsoft. Rozważania oparte są o metodykę Scrum i wbudowane w VSTS repozytorium GIT. Zaczynamy praktycznie od początku – od wyjaśnienia podstawowych założeń metodyk agile, przez konfigurację VSTS a potem – krok po kroku przechodzimy przez przykładowy proces wspierający budowę trywialnej aplikacji Webowej.
Porażka nie wchodzi w grę, czyli o niezawodnościKamil Grabowski
Bank? System sterowania farmą paneli fotowoltaicznych? A może największy w Polsce punkt wymiany ruchu internetowego? Co wspólnego mają te systemy?Podczas tej prezentacji chciałbym podzielić się z Wami moim przemyśleniami oraz doświadczeniem, które zdobyłem podczas rozwijania i utrzymywania aplikacji od których wymaga się, aby były niezawodne.
Jak zorganizować sobie Continuous Integration i Continuous Delivery w projekcie o niezwykle małym budżecie
W trakcie prezentacji dotknięte zostaną następujące zagadnienia:
- sposób organizacji projektu pod kątem wprowadzania CI / CD
- użycie kontenerów w celu przeprowadzania wyżej wymienionych procesów
- zalecenia odnośnie stosowania narzędzi takich jak TeamCity, Docker, Ansible, Git, Make, skrypty Bash, Phing itp.
- wskazanie pułapek o których trzeba pamiętać
Testy wydajnościowe to nie tylko JMeter. Podobnie jak w przypadku testów automatycznych, liczba frameworków do badania wydajności stale rośnie. Poza wprowadzeniem w tematykę testów wydajnościowych, w trakcie prezentacji przyjrzymy się ich implementacji we frameworku k6. Opowiemy również dlaczego w The Software House postawiliśmy na jego wybór i jak dzięki prostym skryptom testowym zoptymalizowaliśmy kilka naszych projektów.
Porównanie wdrożeń SAP HANA - cloud computing w data center vs. model zakupowy Polcom
Porównanie wdrożeń systemu SAP HAN:
tradycyjny model wdrożenia w organizacji vs. model wdrożenia w Polcom Data Center.
Założenia:
Środowisko pod SAP HANA w modelu data center jest tańsze średnio o 40%.
Cloud computing jest tańszym rozwiązaniem dla rozwiązań klasy ERP jak SAP HANA/
Model tradycyjny:
(konieczność zakupu certyfikowanego sprzętu, inwestycje związane z wdrożeniem, SPLA itd).
Model w Polcom Data Center : wynajem środowiska pod SAP certified appliance hardware dla SAP HANA, skalowalna architektura, systemy operacyjne pod stronie Polcom, usługi serwisu sprzętu po stronie Polcom).
Co składa się na koszty w modelu OPEX?
Co składa się na koszty w modelu CAPEX?
Testowanie aplikacji to temat najczęściej pomijany przez programistów. Testowanie nie jest tak pasjonujące jak tworzenie programów czy poznawanie nowych narzędzi. Jest jednak niezbędne. Prawidłowo przeprowadzony proces testowania może znacznie poprawić wydajność, podnieść jakość projektu i kodu, zmniejszyć obciążenia wynikające z konserwacji kodu i pomóc lepiej zaspokoić wymagania klientów, współpracowników i kierownictwa. W powszechnie uznanych metodykach projektowych testowanie, szczególnie za pomocą testów automatycznych, jest niezwykle istotnym procesem.
Książka "Perl. Testowanie. Zapiski programisty" to praktyczny przewodnik dla programistów Perla, którzy chcą poprawić jakość i wydajność tworzonych przez siebie programów. Opisuje metody tworzenia testów automatycznych, stosowania ich i interpretowania ich wyników. Przedstawia sposoby testowania pojedynczych modułów, całych aplikacji, witryn WWW, baz danych, a nawet programów stworzonych w innych językach programowania. Zawiera również informacje o tym, jak dostosować podstawowe narzędzia testujące do własnego środowiska i projektów.
* Instalowanie modułów testujących
* Pisanie testów
* Automatyzacja uruchamiania testów
* Analiza wyników testów
* Dystrybucja testów
* Testy jednostkowe
* Testowanie baz danych
* Testowanie witryn WWW i kodu HTML
Dzięki wiadomościom zawartym w tej książce można zredukować długość cyklu tworzenia oprogramowania i zdecydowanie ułatwić konserwację gotowych systemów.
This document discusses Geb, a browser automation framework for writing end-to-end tests. It presents Geb's features like page object modeling using Groovy and jQuery-style content selection. The document also discusses problems with existing test architectures like tests being slow, unstable, and hard to maintain. It then proposes an alternative test architecture using page objects, controllers that gather page actions, and views that run test scenarios. Finally, it demonstrates implementing this architecture in Java without Geb by using page objects, method chaining for fluent interfaces, and default interface methods for controllers. Key benefits highlighted are improved readability, maintainability, and onboarding through a clearer test structure.
Dobry system musi być przetestowany pod względem wydajnościowym. Takie testy są zupełnie inne niż testy funkcjonalne: zamiast binarnego rezultatu (pass, fail), mamy ogromne ilości danych do zebrania, zaprezentowania i zinterpretowania. Podczas wystąpienie prelegent omówi cały cykl testów wydajnościowych: od przygotowania warunków testu, środowisk i danych testowych, poprzez przeprowadzenie testów, zebranie danych, ich prezentację i interpretacje, aż po przeprowadzenie procesów decyzyjnych wynikających z danych.
Continuous Integration w konfiguracji urządzeń sieciowychDreamLab
Konfigurowanie urządzeń sieciowych można traktować jak pisanie kodu. To co programiści znają jako continous integration może być wykorzystane również w zarządzaniu siecią, nawet tak dużą jak w Grupie Onet-RAS Polska. Na PLNOG Piotr Pieprzycki przedstawilł model w jakim wprowadzamy w DreamLabie zmiany w naszym środowisku i z jakimi problemami zetknęliśmy się po drodze.
Visual Studio – jak zorganizować pracę używając Scrum i GIT?Tomasz Kopacz
Video: https://channel9.msdn.com/Series/Visual-Studio-jak-zorganizowac-prace-uzywajac-Scrum-i-GIT
Jednym z najważniejszych czynników zapewniających właściwą jakość oprogramowania jest proces wytwórczy. W tym materiale pokażę w jaki sposób przy użyciu Visual Studio Team Services (dawniej Visual Studio Online) albo Team Foundation Services zainstalowanego na własnych maszynach zorganizować pracę zespołu programistów. Przyglądam się bliżej o co chodzi w ALM i DevOps, omawiam (krótko niestety) jak to funkcjonuje w środku Microsoft. Rozważania oparte są o metodykę Scrum i wbudowane w VSTS repozytorium GIT. Zaczynamy praktycznie od początku – od wyjaśnienia podstawowych założeń metodyk agile, przez konfigurację VSTS a potem – krok po kroku przechodzimy przez przykładowy proces wspierający budowę trywialnej aplikacji Webowej.
Porażka nie wchodzi w grę, czyli o niezawodnościKamil Grabowski
Bank? System sterowania farmą paneli fotowoltaicznych? A może największy w Polsce punkt wymiany ruchu internetowego? Co wspólnego mają te systemy?Podczas tej prezentacji chciałbym podzielić się z Wami moim przemyśleniami oraz doświadczeniem, które zdobyłem podczas rozwijania i utrzymywania aplikacji od których wymaga się, aby były niezawodne.
Jak zorganizować sobie Continuous Integration i Continuous Delivery w projekcie o niezwykle małym budżecie
W trakcie prezentacji dotknięte zostaną następujące zagadnienia:
- sposób organizacji projektu pod kątem wprowadzania CI / CD
- użycie kontenerów w celu przeprowadzania wyżej wymienionych procesów
- zalecenia odnośnie stosowania narzędzi takich jak TeamCity, Docker, Ansible, Git, Make, skrypty Bash, Phing itp.
- wskazanie pułapek o których trzeba pamiętać
Testy wydajnościowe to nie tylko JMeter. Podobnie jak w przypadku testów automatycznych, liczba frameworków do badania wydajności stale rośnie. Poza wprowadzeniem w tematykę testów wydajnościowych, w trakcie prezentacji przyjrzymy się ich implementacji we frameworku k6. Opowiemy również dlaczego w The Software House postawiliśmy na jego wybór i jak dzięki prostym skryptom testowym zoptymalizowaliśmy kilka naszych projektów.
Porównanie wdrożeń SAP HANA - cloud computing w data center vs. model zakupowy Polcom
Porównanie wdrożeń systemu SAP HAN:
tradycyjny model wdrożenia w organizacji vs. model wdrożenia w Polcom Data Center.
Założenia:
Środowisko pod SAP HANA w modelu data center jest tańsze średnio o 40%.
Cloud computing jest tańszym rozwiązaniem dla rozwiązań klasy ERP jak SAP HANA/
Model tradycyjny:
(konieczność zakupu certyfikowanego sprzętu, inwestycje związane z wdrożeniem, SPLA itd).
Model w Polcom Data Center : wynajem środowiska pod SAP certified appliance hardware dla SAP HANA, skalowalna architektura, systemy operacyjne pod stronie Polcom, usługi serwisu sprzętu po stronie Polcom).
Co składa się na koszty w modelu OPEX?
Co składa się na koszty w modelu CAPEX?
Testowanie aplikacji to temat najczęściej pomijany przez programistów. Testowanie nie jest tak pasjonujące jak tworzenie programów czy poznawanie nowych narzędzi. Jest jednak niezbędne. Prawidłowo przeprowadzony proces testowania może znacznie poprawić wydajność, podnieść jakość projektu i kodu, zmniejszyć obciążenia wynikające z konserwacji kodu i pomóc lepiej zaspokoić wymagania klientów, współpracowników i kierownictwa. W powszechnie uznanych metodykach projektowych testowanie, szczególnie za pomocą testów automatycznych, jest niezwykle istotnym procesem.
Książka "Perl. Testowanie. Zapiski programisty" to praktyczny przewodnik dla programistów Perla, którzy chcą poprawić jakość i wydajność tworzonych przez siebie programów. Opisuje metody tworzenia testów automatycznych, stosowania ich i interpretowania ich wyników. Przedstawia sposoby testowania pojedynczych modułów, całych aplikacji, witryn WWW, baz danych, a nawet programów stworzonych w innych językach programowania. Zawiera również informacje o tym, jak dostosować podstawowe narzędzia testujące do własnego środowiska i projektów.
* Instalowanie modułów testujących
* Pisanie testów
* Automatyzacja uruchamiania testów
* Analiza wyników testów
* Dystrybucja testów
* Testy jednostkowe
* Testowanie baz danych
* Testowanie witryn WWW i kodu HTML
Dzięki wiadomościom zawartym w tej książce można zredukować długość cyklu tworzenia oprogramowania i zdecydowanie ułatwić konserwację gotowych systemów.
This document discusses Geb, a browser automation framework for writing end-to-end tests. It presents Geb's features like page object modeling using Groovy and jQuery-style content selection. The document also discusses problems with existing test architectures like tests being slow, unstable, and hard to maintain. It then proposes an alternative test architecture using page objects, controllers that gather page actions, and views that run test scenarios. Finally, it demonstrates implementing this architecture in Java without Geb by using page objects, method chaining for fluent interfaces, and default interface methods for controllers. Key benefits highlighted are improved readability, maintainability, and onboarding through a clearer test structure.
Kontrakt testy - KraQA 42 - Slawomir Radzyminskikraqa
The document discusses different approaches to testing services including end-to-end, isolation, and contract tests. It focuses on contract tests, explaining that they allow integration tests against mocks while ensuring the mocks accurately represent external dependencies. It provides details on consumer-driven and provider-driven contract tests, highlighting benefits of the consumer-driven approach. The document outlines the six key steps to implement contract testing in a continuous integration/continuous delivery pipeline using a pact broker to manage contracts.
The document discusses principles of continuous delivery including building quality in from the start, automating as much as possible while keeping everything in version control, testing in a production-like environment, and maintaining a simple and consistent delivery process. It emphasizes the importance of frequent releases to catch issues early, notes that testing does not ensure 100% confidence, and advocates for continuous improvement through a plan-do-study-act approach with each release representing the next stage. Continuous delivery helps reduce errors, lower stress, and gather valuable user feedback.
This document discusses the importance of treating infrastructure and pipelines as code for software development teams. It notes that while teams often focus on the application code being developed, they should also focus on how the code is built, released, and deployed. Describing these processes as code enables teams to test and assure the quality of their delivery pipelines. The document then outlines examples where infrastructure and pipelines are treated as code, such as with Jenkins Pipelines, configuration as code, and tools like Travis, Gitlab, and others. It invites readers to review examples of building pipelines as code using Jenkins and other related tools.
This document discusses contract testing for microservices. It defines what a contract is - an agreement between a service producer and consumer about valid requests and responses. Contract testing involves testing a service against this contract to ensure it continues to meet the contract's expectations. Tools like Spring Cloud Contract and Pact can be used to define contracts and perform contract testing. Examples are provided of defining contracts in Java and testing a service against the contract. The document argues contract testing is important for microservices to catch breaking changes between services and ensure expectations continue to be met.
2. AGENDA
• Czym jest Canopy?
• Czym różni się od czystego Selenium
• Co dodaliśmy od siebie?
• Jak zmieniło to naszą organizację
• Chwila magii, czyli demo
3. KILKA SŁÓW O CANOPY
• Canopy to F# nakładka na Selenium
• Twórcą biblioteki jest Chris Holt „lefthandedgoat”
(https://lefthandedgoat.github.io/canopy/ )
• Ogólna filozofia to:
• Jednolita i stabilna nakładka na Selenium
• Prosta do nauki
• Przejrzyste API
• Oparta na licencji MIT
• Wbudowane raportowanie (na potrzeby CI, lub do html)
• Możliwość samodzielnego rozszerzania biblioteki
4. CANOPY VS. SELENIUM
WAŻNE, ŻEBY TE PLUSY …
Plusy
• Niezawodność
• Czas wykonania
• Czas przygotowania skryptu
• Niski próg wejścia dla testera manualnego
• Jedno narzędzie dla dewelopera i testera (u nas)
• Uruchamianie testów stand-alone (bez Visuala, instalacji driverów)
• Możliwość rozbudowy frameworka
5. CANOPY VS. SELENIUM
… NIE PRZESŁONIŁY NAM MINUSÓW
Minusy
• F# i canopy - mało popularne, mało znane
• Płatne narzędzia do tworzenia kodu (w naszej organizacji)
6. GARNITUR NA MIARĘ,
CZYLI CO USPRAWNILIŚMY
Co dostajemy out-of-box
• Biblioteka (via NuGet)
• Uruchamianie z Visuala
• Raport na konsoli
Co trzeba dorobić na start
• Ściągnąć drivery
• Skonfigurować uruchomienie liveHtmlReportera – raport z html
7. GARNITUR NA MIARĘ,
CZYLI CO USPRAWNILIŚMY
Technicznie
• Uruchamianie przez Schedulera (Harmonogram zadań windows, Jenkins,etc)
• Przekazanie parametrów uruchomienia w .xml dla uruchamiania samych
.exe
• Wyniki wystawiane jako JSON
• Dostosowanie raportów do prezentacji na TV
• Dodatkowe metody usprawniające pisanie testów: obsługę list, poprawę
scrollowania, etc. (i tu się przydaje F# )
8. GARNITUR NA MIARĘ,
CZYLI CO USPRAWNILIŚMY
Prezentacja wyników
historycznych pokazuje,
że testy są stabilne
9. GARNITUR NA MIARĘ,
CZYLI CO USPRAWNILIŚMY
Organizacyjnie
• Zmiana celu testów automatycznych
• Testy automatyczne jako produkt
• System szkoleń dla testerów
• Kampania informacyjna
• Dyżury przy testach
Monitoring
Top 100
After Roll-Out
Top 1.000
Testy zespołów
10. GARNITUR NA MIARĘ,
CZYLI CO USPRAWNILIŚMY
Radiatory pokazują stan
środowisk testowych
Trzeba przyciągnąć
uwagę do awarii
11. CO NA TO ORGANIZACJA
Przed
• Smoke test trwający ok. 15 min
• Niska stabilność, nawet do 30% false-positive
• Brak zaufania do testów
• Brak zainteresowania testerów
• Brak zainteresowania managerów
• Problemy z instalacją IDE i środowiska
• Brak wpływu na wdrożenia
Po
• Smoke test trwający ok. 1,5 min
• Wysoka stabilność, ~2% false-positive
• Ludzie patrzą w testy
• Dostajemy konstruktywne pomysły
• Managerowie zespołów inwestują w testerów
• Testy pisane przez zespoły
• Wdrożenia uzależnione od wyniku testów
automatycznych