Serenity BDD - from executable specifications to living documentationAlex Soto
Learn how to write clean, clear, maintainable automated acceptance tests for both web applications and web services using Serenity BDD (http://serenity-bdd.info). Serenity BDD is an open source library that helps you write better, more effective automated acceptance tests, and use these acceptance tests to produce world-class test reports and living documentation.
LJC 2015 "The Crafty Consultants Guide to DevOps"Daniel Bryant
Come along and learn how the Crafty Consultant makes his money by consulting craftily in DevOps. We'll see how silos can be broken down by introducing more independent and isolated team, how only idiots automate everything, and why monitoring only provides actionable insight that simply confuses your clients...
...and then we'll look at the real world implementation of DevOps :-) The primary aims of this talk are to introduce the concepts behind the DevOps movement, and we'll do this by debunking all of the Crafty Consultant's advice. We'll cover the drivers of breaking down silos (in business and in tech), the benefits of automation (especially with provisioning and configuring infrastructure), and the power that monitoring provides (particularly when deploying to the cloud, or implementing a microservice architecture).
Behavior-Driven Development (BDD) is a set of software engineering practices designed to help teams build and deliver more valuable, higher quality software faster.
Serenity BDD - from executable specifications to living documentationAlex Soto
Learn how to write clean, clear, maintainable automated acceptance tests for both web applications and web services using Serenity BDD (http://serenity-bdd.info). Serenity BDD is an open source library that helps you write better, more effective automated acceptance tests, and use these acceptance tests to produce world-class test reports and living documentation.
LJC 2015 "The Crafty Consultants Guide to DevOps"Daniel Bryant
Come along and learn how the Crafty Consultant makes his money by consulting craftily in DevOps. We'll see how silos can be broken down by introducing more independent and isolated team, how only idiots automate everything, and why monitoring only provides actionable insight that simply confuses your clients...
...and then we'll look at the real world implementation of DevOps :-) The primary aims of this talk are to introduce the concepts behind the DevOps movement, and we'll do this by debunking all of the Crafty Consultant's advice. We'll cover the drivers of breaking down silos (in business and in tech), the benefits of automation (especially with provisioning and configuring infrastructure), and the power that monitoring provides (particularly when deploying to the cloud, or implementing a microservice architecture).
Behavior-Driven Development (BDD) is a set of software engineering practices designed to help teams build and deliver more valuable, higher quality software faster.
We covered basics of using a predefined readymade test automation framework. Configuring it using build tool (Gradle) in IDE (Eclipse/IntelliJ). Run tests and explore reports and test management concepts.
Basic Introduction to selenium Webdriver in comparison with other selenium suite components along with architecture and element locators. Also explained about basic action commands used in selenium webdriver.
Multiple technologies, changing requirements, challenging reality ... The number of factors, that affect the performance of software teams, is constantly growing.
Moreover, there are so many different roles in a project (Developers, Testers, Leaders, Managers, Product Owners) and reaching a clear communication between them is even more difficult.
Behavior-Driven Development (BDD) is an answer to all those challenges.
Belatrix experts Luis Raed, Sr. Developer at Belatrix Software, and Mauricio Besse, Project Leader at Belatrix Software analyzed the BDD approach, its practical application and benefits for software development and QA teams.
You can watch the recording here: https://www.youtube.com/watch?v=NldOrd_4N08&feature=youtu.be
Una panoramica sui test automatizzati con un pò di teoria su come approciarsi.
Ed infine una panoramica su Serenity BDD, tool utilizzato per creare i test automatizzati
Model-based Testing: Taking BDD/ATDD to the Next LevelBob Binder
Slides from presentation at the Chicago Quality Assurance Association, February 25, 2014.
Acceptance Test Driven Development (ATDD) and Behavior Driven Development (BDD) are well-established Agile practices that rely on the knowledge and intuition of testers, product owners, and developers to identify and then translate statements into test suites. But the resulting test suites often cover only a small slice of happy-path behavior. And, as a BDD specification and its associated test code base grows over time, work to maintain it either crowds out new development and testing or, typically, is simply ignored. Either is high-risk. That’s how Agile teams get eaten by the testing BackBlob.Model Based Testing is a tool-based approach to automate the creation of test cases. This presentation will outline the techniques and benefits of MBT, and show how model-based testing can address both problems. A detailed demo of Spec Explorer, a free model-based testing tool shows how a model is constructed and used to create and maintain a test suite.
“How are business users assured that all features are built and tested?”. “Test cases written by the test teams are too technical for business users”. If you find yourself in the above situations, Behavior-Driven Development (BDD) may be a good choice for your team. In this presentation, we will discuss BDD as an agile development practice, automation testing using Cucumber as well as the advantages and disadvantages of BDD/Cucumber.
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)Dariusz Kacban
Zarabiaj na testowaniu dzięki narzędziom: Git, Webdriver, Specflow!
W tej prezentacji opisałem 7 umiejętności i narzędzi potrzebnych żeby profesjonalnie testować oprogramowanie.
Polecam wszystkim, którzy chcą dowiedzieć się jak testować oprogramowanie i tworzyć automatyczne testy oprogramowania na przykładzie platformy .NET.
We covered basics of using a predefined readymade test automation framework. Configuring it using build tool (Gradle) in IDE (Eclipse/IntelliJ). Run tests and explore reports and test management concepts.
Basic Introduction to selenium Webdriver in comparison with other selenium suite components along with architecture and element locators. Also explained about basic action commands used in selenium webdriver.
Multiple technologies, changing requirements, challenging reality ... The number of factors, that affect the performance of software teams, is constantly growing.
Moreover, there are so many different roles in a project (Developers, Testers, Leaders, Managers, Product Owners) and reaching a clear communication between them is even more difficult.
Behavior-Driven Development (BDD) is an answer to all those challenges.
Belatrix experts Luis Raed, Sr. Developer at Belatrix Software, and Mauricio Besse, Project Leader at Belatrix Software analyzed the BDD approach, its practical application and benefits for software development and QA teams.
You can watch the recording here: https://www.youtube.com/watch?v=NldOrd_4N08&feature=youtu.be
Una panoramica sui test automatizzati con un pò di teoria su come approciarsi.
Ed infine una panoramica su Serenity BDD, tool utilizzato per creare i test automatizzati
Model-based Testing: Taking BDD/ATDD to the Next LevelBob Binder
Slides from presentation at the Chicago Quality Assurance Association, February 25, 2014.
Acceptance Test Driven Development (ATDD) and Behavior Driven Development (BDD) are well-established Agile practices that rely on the knowledge and intuition of testers, product owners, and developers to identify and then translate statements into test suites. But the resulting test suites often cover only a small slice of happy-path behavior. And, as a BDD specification and its associated test code base grows over time, work to maintain it either crowds out new development and testing or, typically, is simply ignored. Either is high-risk. That’s how Agile teams get eaten by the testing BackBlob.Model Based Testing is a tool-based approach to automate the creation of test cases. This presentation will outline the techniques and benefits of MBT, and show how model-based testing can address both problems. A detailed demo of Spec Explorer, a free model-based testing tool shows how a model is constructed and used to create and maintain a test suite.
“How are business users assured that all features are built and tested?”. “Test cases written by the test teams are too technical for business users”. If you find yourself in the above situations, Behavior-Driven Development (BDD) may be a good choice for your team. In this presentation, we will discuss BDD as an agile development practice, automation testing using Cucumber as well as the advantages and disadvantages of BDD/Cucumber.
Jak zarabiać na testowaniu oprogramowania(konferencja MeeTTech Piła 27.07.2016)Dariusz Kacban
Zarabiaj na testowaniu dzięki narzędziom: Git, Webdriver, Specflow!
W tej prezentacji opisałem 7 umiejętności i narzędzi potrzebnych żeby profesjonalnie testować oprogramowanie.
Polecam wszystkim, którzy chcą dowiedzieć się jak testować oprogramowanie i tworzyć automatyczne testy oprogramowania na przykładzie platformy .NET.
O zagadnieniu:
Czy następuje taki moment w życiu programisty, kiedy może on stwierdzić, że jego warsztat jest już doskonały? Nie, jeżeli pracuje w technologiach internetowych. Ta dziedzina informatyki rozwija się w niesamowicie szybkim tempie, a stworzone wczoraj rozwiązania warto stosować już dziś!
Cel i korzyści spotkania:
Podczas spotkania słuchacze poznają aktualnie wykorzystywane technologie oraz kluczowe umiejętności w produkcji aplikacji internetowych, jak również metody programowania ekstremalnego i techniki zwinnego wytwarzania oprogramowania. Osobom, które dopiero zaczynają swoją przygodę z web development, zostanie przedstawiona propozycja działań, których sumienne podjęcie się gwarantuje odniesienie sukcesu zawodowego.
W prezentacji przedstawię rozwiązanie frameworka do automatyzacji testów, które zaprojektowałem, aby zapewnić wydajną i tanią w utrzymaniu automatyzację testów dla aplikacji webowej.
Największym wyzwaniem było to, że aplikacja składała się z wielu modułów, z których każdy był tworzony, podobnie jak testy dla niego, przez inną firmę. Rozwiązanie oparte o repozytorium binariów pozwala na szybkie dzielenie się wytworzonym kodem testów aplikacji pomiędzy wszystkimi
zespołami, co przyspiesza i obniża koszt utrzymania testów automatycznych, oraz umożliwia szybkie pisanie testów przechodzących przez wiele modułów aplikacji.
Testowanie silników elektrycznych - dedykowane rozwiązania dla wymagających t...Veritech Sp. z o.o.
NI Automotive Forum 2017. Metody testowania silników elektrycznych wykorzystywanych w samochodach do podniesienia komfortu i bezpieczeństwa jazdy w obecnie produkowanych oraz przyszłych pojazdach.
Selenium WebDriver Testy Automatyczne w Pythonie | DreamLab Academy #8DreamLab
Tworzenie i wykorzystaine testów automatycznych w Pythonie przy użyciu Selenium WebDriver. Prezentacja przedstawiona na warsztatach w ramach cyklu wartsztatów DreamLab Academy. W razie pytań zapraszamy do kontaktu academy@dreamlab.pl
The presentation was created for a DreamLab Academy workshop Automated testsing in Python. For more details get in touch - academy@dreamlab.pl
Analiza nowej Rekomendacji D pod kątem metodologii testowania QualityIn.IT
Dokument przedstawiający wymagania w zakresie testów oprogramowania, zgodnych z opublikowaną przez KNF "Rekomendacją D" dotyczącą zarządzania obszarami technologii informacyjnej i bezpieczeństwa środowiska teleinformatycznego w bankach.
We have adopted Scrum and Kanban as our people framework and software engineering techniques and good practises XP, DevOps processes CI, CD, Quality, ChM, RM, BDD, TDD, Risk Management and GIT Flow for the technical counterpart. Here's a story of our problems and solutions we've came-up with. It has been a long journey already, but there's a lot of things to do ahead of us. Let's step into our Case Study
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.
5. 5
Behavior-Driven Development (BDD ) jest
zwinna techniką wytwarzania oprogramowania
w oparciu o konkretną strukturę formułowania
wymagań. Polega na tworzeniu
oprogramowania przez opisywanie jego
zachowania, z perspektywy jego udziałowców.
7. 7
Założenia
1. ustalenie celów wszystkich zainteresowanych stron
potrzebnych do realizacji wizji
2. zaangażowanie stackholderów w proces tworzenia
oprogramowania
3. stworzenie przykładów opisujących sposób działania
aplikacji
4. automatyzacja wyżej wymienionych przykładów i
możliwość jej późniejszego wykorzystania w regresji
5. wykorzystanie mocków w celu umożliwienia symulacji
oprogramowania z modułami, które nie zostały
jeszcze stworzone
8. 8
3 Zasady BDD
1. Enough is enough
2. Deliver stakeholder value
3. It`s all about behaviour
11. 11
BDD vs TDD
TDD means writing a test that fails because the
specified functionality doesn't exist, then writing
the simplest code that can make the test pass –
development practise
BDD means creating an executable specification
that fails because the feature doesn't exist, then
writing the simplest code that can make the spec
pass – team methology
13. 13
Selenium - zestaw narzędzi do automatyzacji
przeglądarek internetowych na wielu
platformach
WebDriver – koncepcja sterowników, która
umożliwia bezpośrednią komunikację i kontrolę
przeglądarek internetowych
20. 20
Serenity BDD
Serenity BDD – biblioteka open source,
pomagająca tworzyć automatyczne testy
akceptacyjne i regresji
Serenity informuje nie tylko jakie testy zostały
wykonane, ale co ważniejsze, jakie wymagania
zostały przetestowane.
21. 21
Główne cechy
o elastyczniejsze testy
o łatwiejsze zarządzanie testami
o przejrzyste raporty z testów
o mapowanie testów na wymagania
o mierzy jak wiele cech aplikacji jest faktycznie
testowana
29. 29
1.Introducing BDD - Dan North
https://dannorth.net/introducing-bdd/
2.BDD in Action – John Ferguson Smart,
2015
3.http://behaviour-driven.org
4.http://www.thucydides.info/
Editor's Notes
BDD was originally invented by Dan North in the early to mid-2000s as an easier wayto teach and practice Test-Driven Development (TDD). TDD, invented by Kent Beck inthe early days of Agile,10 is a remarkably effective technique that uses unit tests to specify,design, and verify application code.
Cała aplikacja budowana jest z komponentów, małymi historyjkami które opowiadają o tym jak powinien zachować się program gdy zajdą pewne okoliczności – z ang. stories. Każde story budowany jest na schemacie given,when,then :
given – określa warunki początkowe, przedstawia aktora, zapoznaje odbiorcę z kontekstem historyjki,
when – opisuje akcje, występujące zdarzenie,
then – informuje o oczekiwanych rezultatach.
USING EXAMPLES
A SHARED UNDERSTANDING
SOFTWARE THAT MATTERS
Wykorzystanie przykładów na wielu poziomach w celu utworzenia wspólnego zrozumienia i powierzchniowej niepewności
Tak by dostarczyć oprogramowanie, które ma znaczenie
jest zwinną techniką tworzenia oprogramowania mającą na celu lepszą integrację między programistami, testerami, ale także co bardzo ważne ludźmi biznesu czyli osobami nietechnicznymi
ZAŁOŻENIA:
ustalenie celów wszystkich zainteresowanych stron potrzebnych do realizacji wizji
zdefiniowanie potencjalnych możliwości, które zostaną osiągnięte za pomocą napisanego kodu
zaangażowanie stakholderów w proces tworzenia oprogramowania
stworzenie przykładów opisujących sposób działania aplikacji
automatyzacja wyżej wymienionych przykładów i możliwość jej późniejszego wykorzystania w regresji
wykorzystanie mocków w celu umożliwienia symulacji oprogramowania z modułami, które nie zostały jeszcze stworzone
analizujemy, planujemy i projektujemy tyle, ile naprawdę trzeba
• nie tracimy czasu na na wyspecyfikowanie od razu całego zakresu projektu – wymagania i tak będą się pewnie zmieniać
• robimy tylko tyle, ile trzeba
wszystko, co robimy ma nieść ze sobą realną wartość biznesową
• jeśli robimy coś, co tej wartości nie przynosi, warto zająć się czymś innym
• jeżeli funkcjonalność pojawia się w projekcie, to znaczy, że jest wartościowa
wszyscy uczestnicy projektu powinni odwoływać i myśleć o systemie w ten sam sposób – opisując jego zachowanie tym samym słownictwem
dzięki temu zmniejszana jest bariera komunikacyjna między „nietechnicznym” klientem, a „technicznymi” programistami
wymagania definiujemy w formie historyjek użytkownika
Let’s say Chris’s company needs a new module for its accounting software.
When Chris wants to add a new feature, the process goes something like this (see figure 1.1):
1 Chris tells a business analyst how he would like the feature to work.
2 The business analyst translates Chris’s requests into a set of requirements forthe developers, describing what the software should do. These requirementsare written in English and stored in a Microsoft Word document.
3 The developer translates the requirements into code and unit tests—written inJava, C#, or some other programming language—in order to implement thenew feature.
4 The tester translates the requirements in the Word document into test cases,and uses them to verify that the new feature meets the requirements.
5 Documentation engineers then translate the working software and code backinto plain English technical and functional documentation.
There are many opportunities for information to get lost in translation, be misunderstood,or just be ignored. Chances are that the new module itself may not do exactlywhat was required and that the documentation won’t reflect the initial requirementsthat Chris gave the analyst.
Chris’s friend Sarah runs another company that just introduced BDD. In a team practicingBDD, the business analysts, developers, and testers collaborate to understandand define the requirements together.
They use a common languagethat allows for an easy, less ambiguous path from end-user requirements to usable, automatable tests.
Like Chris, Sarah talks to a business analyst about what she wants. To reduce therisk of misunderstandings and hidden assumptions, they talk through concrete examples of what the feature should do.
Before work starts on the feature, the business analyst gets together with the developer and tester who will be working on it, and they have a conversation about the feature. In this conversation, they discuss and translate key examples of how the feature should work into a set of requirements written in a structured, English-language format often referred to as Gherkin
The developer uses a BDD tool to turn these requirements into a set of automatedtests that run against the application code and help objectively determinewhen a feature is finished.
The tester uses the results of these tests as the starting point for manual andexploratory tests.
The automated tests act as low-level technical documentation, and provideup-to-date examples of how the system works. Sarah can review the test reports tosee what features have been delivered, and whether they work the way she expected.
Selenium - a suite of tools to automate web browsers across many platforms.
Z jednej strony to bardzo wygodne dla programisty API pozwalające na interakcję z przeglądarką, z drugiej zaś to koncepcja sterowników (ang. driver), które tę bezpośrednią komunikację umożliwiają
Doesn’t need a real browser
No javascript limitations
No need for a server.
Selenium - a suite of tools to automate web browsers across many platforms.
Z jednej strony to bardzo wygodne dla programisty API pozwalające na interakcję z przeglądarką, z drugiej zaś to koncepcja sterowników (ang. driver), które tę bezpośrednią komunikację umożliwiają
Pozwala na odwzorowanie stron internetowych w klasy, w których metody reprezentują możliwe do wykonania akcje, natomiast pola - elementy na stronie.