This webinar discusses best practices for creating Story Tests (aka Acceptance Tests).
Acceptance Testing, also known as Story Testing, is vital to achieve the Agile vision of “working software over comprehensive documentation.”
Read more at https://www.synerzip.com/webinar/acceptance-and-story-testing-patterns/
Exploratory testing is a systematic approach that involves designing and executing tests to learn about a system in parallel. It relies on rigorous analysis techniques and testing heuristics to discover risks. The tester dynamically adapts their approach based on insights from previous experiments to inform future tests. Exploratory testing emphasizes self-directed learning and improving testing skills over time.
This document provides an overview of exploratory testing techniques. It discusses that exploratory testing involves simultaneous learning, test design, and test execution. Exploratory testing is tester-centric and focuses on problem solving strategies like heuristics rather than scripts. The document dispels some myths about exploratory testing, including that it is unstructured and cannot involve documentation. It provides examples of how documents can be used for reflection, information sharing, and reporting in exploratory testing.
Tips for Writing Better Charters for Exploratory Testing Sessions by Michael...TEST Huddle
We will look at some common pitfalls encountered when chartering your testing for session-based exploratory testing. After a brief overview of the session-based test management process we will jump into specific practices and techniques to help you and the rest of your team achieve better coverage and find better bugs. A presentation for the EuroSTAR Software Testing Community from September 2012.
There are many types of automatic tests, testing tools, libraries and approaches.
Automatic tests can save you a lot of stress but can also became a kind of a nightmare.
This presentation is an overview of what's available and how to use and not to use them to make them really useful.
Examples taken from PHP world. You might be surprised how many tools is available.
This document provides tips for writing PHP tests. It discusses different types of tests like unit, integration, and acceptance tests. It emphasizes writing tests before code using a test-driven development approach. Tests should be independent, easy to read, and run quickly. The document advises against complex tests or testing irrelevant code. Continuous integration is recommended to help catch bugs early. Overall, the document promotes writing maintainable, automated tests to improve code quality and prevent regressions.
The document discusses various techniques for testing software, including their strengths and limitations. It begins by noting that while unit tests are useful for preventing regressions and ensuring something works, they don't provide much information when they pass and finding all possible test cases is impossible. Formal methods like regular expressions and finite state machines can help reduce the input space. Property based testing allows specifying properties that must always be true rather than specific test cases. The document advocates using a combination of techniques like typing, fuzzing, and formal methods alongside testing to provide more confidence in code correctness with fewer tests. The key is focusing on the goal of quality software rather than any single testing technique.
Sustainable Automation Frameworks by Kelsey ShannahanQA or the Highway
The document discusses sustainable automation frameworks for testing software. It addresses common problems such as hardcoding tests, having too many step definitions, and poor data management. The proposed solutions include using a page object model to organize test code, standardizing step definitions to represent business logic at a higher level, and having a consistent way to load and reuse test data. Maintaining an organized framework is emphasized as important for allowing tests to run quickly and changes to be made easily.
This document discusses different "flavors" of exploratory testing that were tried by a CMMI level 5 software company. It describes freestyle exploratory testing, session-based exploratory testing, testing tours, bug hunts, and a general functionality and stability test procedure inspired by Microsoft. It also discusses challenges faced in implementing exploratory testing and how the company addressed these challenges by developing a hybrid approach combining elements of different flavors.
Exploratory testing is a systematic approach that involves designing and executing tests to learn about a system in parallel. It relies on rigorous analysis techniques and testing heuristics to discover risks. The tester dynamically adapts their approach based on insights from previous experiments to inform future tests. Exploratory testing emphasizes self-directed learning and improving testing skills over time.
This document provides an overview of exploratory testing techniques. It discusses that exploratory testing involves simultaneous learning, test design, and test execution. Exploratory testing is tester-centric and focuses on problem solving strategies like heuristics rather than scripts. The document dispels some myths about exploratory testing, including that it is unstructured and cannot involve documentation. It provides examples of how documents can be used for reflection, information sharing, and reporting in exploratory testing.
Tips for Writing Better Charters for Exploratory Testing Sessions by Michael...TEST Huddle
We will look at some common pitfalls encountered when chartering your testing for session-based exploratory testing. After a brief overview of the session-based test management process we will jump into specific practices and techniques to help you and the rest of your team achieve better coverage and find better bugs. A presentation for the EuroSTAR Software Testing Community from September 2012.
There are many types of automatic tests, testing tools, libraries and approaches.
Automatic tests can save you a lot of stress but can also became a kind of a nightmare.
This presentation is an overview of what's available and how to use and not to use them to make them really useful.
Examples taken from PHP world. You might be surprised how many tools is available.
This document provides tips for writing PHP tests. It discusses different types of tests like unit, integration, and acceptance tests. It emphasizes writing tests before code using a test-driven development approach. Tests should be independent, easy to read, and run quickly. The document advises against complex tests or testing irrelevant code. Continuous integration is recommended to help catch bugs early. Overall, the document promotes writing maintainable, automated tests to improve code quality and prevent regressions.
The document discusses various techniques for testing software, including their strengths and limitations. It begins by noting that while unit tests are useful for preventing regressions and ensuring something works, they don't provide much information when they pass and finding all possible test cases is impossible. Formal methods like regular expressions and finite state machines can help reduce the input space. Property based testing allows specifying properties that must always be true rather than specific test cases. The document advocates using a combination of techniques like typing, fuzzing, and formal methods alongside testing to provide more confidence in code correctness with fewer tests. The key is focusing on the goal of quality software rather than any single testing technique.
Sustainable Automation Frameworks by Kelsey ShannahanQA or the Highway
The document discusses sustainable automation frameworks for testing software. It addresses common problems such as hardcoding tests, having too many step definitions, and poor data management. The proposed solutions include using a page object model to organize test code, standardizing step definitions to represent business logic at a higher level, and having a consistent way to load and reuse test data. Maintaining an organized framework is emphasized as important for allowing tests to run quickly and changes to be made easily.
This document discusses different "flavors" of exploratory testing that were tried by a CMMI level 5 software company. It describes freestyle exploratory testing, session-based exploratory testing, testing tours, bug hunts, and a general functionality and stability test procedure inspired by Microsoft. It also discusses challenges faced in implementing exploratory testing and how the company addressed these challenges by developing a hybrid approach combining elements of different flavors.
Worst practices in software testing by the Testing trollViktor Slavchev
The document discusses best and worst practices in software testing according to a mythical testing creature called "The Testing Troll".
Some worst practices presented include relying solely on documentation, focusing only on repetitive regression testing of old tests, viewing automation as a replacement for human testers, and strictly following best practices without consideration of context.
The best practices emphasized thinking beyond requirements and oracles, prioritizing regression tests that reveal new information, using automation as a tool to enhance testing abilities rather than replace testers, providing information about potential risks, and being aware of testing context in different situations. The conclusion is that there are no absolute best practices and testers must be skeptical professionals who consider context.
Sharing some test heuristics that you can use in different apps your testing!
For more presentation slides related to testing and automation, visit us at qeisthenewqa.com
Exploratory testing is an approach to testing that emphasizes the freedom and responsibility of testers to continually optimize the value of their work. It is the process of three mutually supportive activities—learning, test design, and test execution—done in parallel. With skill and practice, exploratory testers typically uncover an order of magnitude more problems than when the same amount of effort is spent on procedurally scripted testing. All testers conduct exploratory testing in one way or another, but few know how to do it systematically to obtain the greatest benefits. Even fewer can articulate the process. Jon Bach looks at specific heuristics and techniques of exploratory testing that will help you get the most from this highly productive approach. Jon focuses on the skills and dynamics of exploratory testing, and how it can be combined with scripted approaches.
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flexmichael.labriola
This document discusses automated testing in Flex. It begins by explaining why automated testing is important, such as reducing costs from software errors and allowing developers to change code without fear of breaking other parts of the project. It then covers topics like writing unit tests, using theories and data points to test over multiple values, and writing integration tests. The document emphasizes that writing testable code is key, and provides some principles for doing so, such as separating construction from application logic and using interfaces. It also discusses using fakes, stubs and mocks to isolate units for testing.
Test automation has some bitter truths that are often overlooked. While automation can help with confirmation testing of deterministic scenarios, many critical testing tasks like exploration and qualitative evaluation are not easily automated. Automation also does not necessarily decrease the costs of testing when development, maintenance, and debugging of automation code is considered. It is more accurate to consider test automation as programmatic testing rather than assuming full automation is possible. Both automated and manual testing are misleading terms, and the focus should be on using tools like automation to extend testing rather than replace human testing.
This presentation provides guidance for novice testers on creating a portfolio to demonstrate their skills and experience to potential employers. It recommends including examples of bugs found, technologies tested, and test designs. Open source and crowdsourced testing are suggested as ways to gain experience without a testing job by contributing to projects on sites like SourceForge and uTest. Guidelines are provided on selecting projects, reading documentation, testing, reporting bugs, and following up to learn. Testers are encouraged to think about and document their testing processes.
The document discusses unit testing concepts and techniques. It defines unit testing and differentiates it from integration testing. It covers core unit testing techniques like test doubles, stubs, and mocks. It also discusses practical tools for unit testing in Java like Mockito and PowerMock. Finally, it addresses common FAQs around unit testing and provides references for further reading.
With the creation of the cucumber framework came the creation of the Gherkin Scripting format (also known as the Given-When-Then format). The structure of a Gherkin script is very straight-forward: Given provides you with the background When tells you what is being created Then tells you the expected results. Writing a script in a Given-When-Then format may be fairly simple. Writing a good Gherkin Script is an Art. Some are Picassos, some are Monets, some look like they were created by a toddler with a crayon. In this presentation Mr. Eakin will offer some tips on writing good Gherkin Scripts and show you how a well crafted Gherkin Script can be a beautiful work of Art.
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...TEST Huddle
We often claim the purpose of testing is to verify that software meets a desired level of quality. Frequently, the term “testing” is associated with checking for functional correctness. However, in large, complex software systems with an established user-base, it is also important to verify system constraints such as backward compatibility, reliability, security, accessibility, usability. Kim Herzig from Microsoft explores these issues with the latest webinar on test Huddle.
The document discusses test design and provides tips for becoming a better test designer. It explains that test design involves coming up with a well-thought-out and broad set of tests based on the application and schedule. Both over-testing and under-testing should be avoided. It also emphasizes practicing testing, collaborating with others, learning about the application, and finding new testing ideas to expand one's toolbox. The best test tool is noted as being one's own brain.
It's about how to involve unit-testing into an existing application.
Unit-testing is never easy to be approached, there's some experience about how to begin within it.
Automation vs. intelligence - "follow me if you want to live"Viktor Slavchev
Have you ever heard the story that your job is automatable, that all the human testers will be replaced by machines or automated tests and you will lose your job? Or even worse, that machines and artificial intelligence will take over our craft and our life and we will be totally useless. Do you buy these? Are you afraid?
“Come with me, if you want to live” – this was the famous line that many members of the Human resistance in the Terminator franchise used, when offering their help in the war against Skynet.
So, come with me (and John Connor), and join the testing resistance to fight on the side of intellect against the evil machine army. I am willing to challenge the I part in AI on contest by focusing on few key topics:
Can we translate testing into machine language? Polymorphic and mimeomorphic actions – what are these?
Do we really know what are the benefits of human testing? What are human testers irreplaceable for?
Do we really have empirical evidence that computers are capable of doing professional testing? Do we have evidence of “intelligence” at all?
Last year at RTC ‘17 I was asked – “Is AI the answer to all test automation problems?”. My answer is “No, it’s not!”. And this talk is my explanation why.
Author: Toan Le
Topic: Being a software tester is no longer an easy job. It was. More technologies and platforms have emerged, along with more complex applications have been created to serve users’ various expectations while the time to go live is getting much shorter over time. It's not only about desktop or web-based applications but also about mobile, cloud-based applications, IoT and more. It's not only about testing alone anymore. It's about continuous integration and continuous delivery indeed.
How to survive and thrive in this Era of New Technology seems to become a critical question for all of us. Being a Full-stack Tester could be an answer, even though we may have different starting points in this career journey. And, the next considerable questions are: what is it and how to get there?
My presentation is to give you some ideas to answer those questions through my own experience in the path of pursuing Full-stack Tester.
The document discusses challenges with testing software without requirements documentation and provides some strategies to help with testing in such situations. It notes that QA teams may have to test without knowing what the application is supposed to do. It then suggests several paths that testing teams can take when faced with limited or missing documentation, such as UI teams creating screenshots and development teams creating technical design documents. The document also advocates for daily standup meetings between teams to help coordinate testing efforts in lieu of documentation.
SXSW 2016 - Everything you think about A/B testing is wrongDan Chuparkoff
Everything you've learned about A/B Testing is based on the fundamentally flawed belief that there's one right answer. But the era of mass-market, one-right-answers is over. A/B Testing is our most valuable tool in the battle to create a more engaging web. But our strategy is broken. Don't worry, we can gain a better understanding of our users with a little data science. And we can reinvent A/B Testing... I will show you how.
At Civis Analytics, we specialize in Data Science. From here, we can clearly see that all people are not the same. So why are A/B Tests designed to search for a single solution? In this session I'll show you where A/B Testing is headed next. See you in Austin!
TDD and agile methods originated from attempts to manage large software projects more effectively. TDD involves writing automated tests before code to specify requirements and catch errors early. It helps avoid major redesigns later. Tests should fail initially and then code is written to pass the test, followed by refactoring. Patterns like starting simply, faking dependencies, and generalizing from examples help get code passing tests quickly. Pitfalls include not starting with a failing test or refactoring tests improperly. The session covered TDD history and techniques, with examples and opportunities for further learning.
30 of the best free software test tools in 60 minutes by Jess LancasterQA or the Highway
This document summarizes Jess Lancaster's presentation on the top 30 free software testing tools that can be covered in 60 minutes. It begins with an introduction and explains the format of sharing tools over 30 minutes. The tools are then grouped into categories and each tool is summarized with who it can be used by, what it can do and where to find it. Testers then had 7 minutes to prepare their own tools to share and took turns presenting tools in the given format over 15 minutes. The document concludes by thanking participants and providing Jess Lancaster's contact details.
This document outlines common mistakes made by new performance test engineers. It discusses 6 main mistakes: 1) only checking HTTP status codes without validating transactions, 2) using improper think and pause times, 3) prematurely identifying bottlenecks without root cause analysis, 4) making false assumptions during tests, 5) attempting analysis before tests complete, and 6) getting stuck on anomalies that don't reproduce by only running tests once. The document emphasizes the importance of validation, realistic timing, methodical testing, letting tests complete before analysis, and running tests multiple times to avoid non-reproducible issues.
The document discusses different types of software testing methodologies - white box testing, black box testing, and grey box testing. White box testing involves testing source code and focuses on code coverage. Black box testing is conducted from an end user perspective to validate requirements. Grey box testing uses a combination of white box and black box techniques. The document also outlines principles of software testing such as early testing, risk-based testing, and that exhaustive testing is impossible.
Test analysis & design good practices@TDT Iasi 17Oct2013Tabăra de Testare
The document discusses test analysis and design best practices. It covers defining test objectives, analyzing test items to identify conditions, designing test cases using various techniques, and ensuring traceability between requirements and test cases. Good practices for writing effective test cases are also presented, such as using a standardized naming convention and writing steps that verify a single testing idea. The importance of analysis and design in translating requirements into testable items prior to execution is emphasized.
Maelscrum / Business Story Manager OverviewPaul Gerrard
The document provides an overview of the Business Story Method, Story Platform, and Maelscrum tool. It describes how the method is used for requirements analysis, planning, execution and reporting. The Story Platform brings together the Business Story Manager and Maelscrum tools to support the method. Maelscrum allows users to create requirements, stories, scenarios, processes and link them to enable traceability and testing.
Worst practices in software testing by the Testing trollViktor Slavchev
The document discusses best and worst practices in software testing according to a mythical testing creature called "The Testing Troll".
Some worst practices presented include relying solely on documentation, focusing only on repetitive regression testing of old tests, viewing automation as a replacement for human testers, and strictly following best practices without consideration of context.
The best practices emphasized thinking beyond requirements and oracles, prioritizing regression tests that reveal new information, using automation as a tool to enhance testing abilities rather than replace testers, providing information about potential risks, and being aware of testing context in different situations. The conclusion is that there are no absolute best practices and testers must be skeptical professionals who consider context.
Sharing some test heuristics that you can use in different apps your testing!
For more presentation slides related to testing and automation, visit us at qeisthenewqa.com
Exploratory testing is an approach to testing that emphasizes the freedom and responsibility of testers to continually optimize the value of their work. It is the process of three mutually supportive activities—learning, test design, and test execution—done in parallel. With skill and practice, exploratory testers typically uncover an order of magnitude more problems than when the same amount of effort is spent on procedurally scripted testing. All testers conduct exploratory testing in one way or another, but few know how to do it systematically to obtain the greatest benefits. Even fewer can articulate the process. Jon Bach looks at specific heuristics and techniques of exploratory testing that will help you get the most from this highly productive approach. Jon focuses on the skills and dynamics of exploratory testing, and how it can be combined with scripted approaches.
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flexmichael.labriola
This document discusses automated testing in Flex. It begins by explaining why automated testing is important, such as reducing costs from software errors and allowing developers to change code without fear of breaking other parts of the project. It then covers topics like writing unit tests, using theories and data points to test over multiple values, and writing integration tests. The document emphasizes that writing testable code is key, and provides some principles for doing so, such as separating construction from application logic and using interfaces. It also discusses using fakes, stubs and mocks to isolate units for testing.
Test automation has some bitter truths that are often overlooked. While automation can help with confirmation testing of deterministic scenarios, many critical testing tasks like exploration and qualitative evaluation are not easily automated. Automation also does not necessarily decrease the costs of testing when development, maintenance, and debugging of automation code is considered. It is more accurate to consider test automation as programmatic testing rather than assuming full automation is possible. Both automated and manual testing are misleading terms, and the focus should be on using tools like automation to extend testing rather than replace human testing.
This presentation provides guidance for novice testers on creating a portfolio to demonstrate their skills and experience to potential employers. It recommends including examples of bugs found, technologies tested, and test designs. Open source and crowdsourced testing are suggested as ways to gain experience without a testing job by contributing to projects on sites like SourceForge and uTest. Guidelines are provided on selecting projects, reading documentation, testing, reporting bugs, and following up to learn. Testers are encouraged to think about and document their testing processes.
The document discusses unit testing concepts and techniques. It defines unit testing and differentiates it from integration testing. It covers core unit testing techniques like test doubles, stubs, and mocks. It also discusses practical tools for unit testing in Java like Mockito and PowerMock. Finally, it addresses common FAQs around unit testing and provides references for further reading.
With the creation of the cucumber framework came the creation of the Gherkin Scripting format (also known as the Given-When-Then format). The structure of a Gherkin script is very straight-forward: Given provides you with the background When tells you what is being created Then tells you the expected results. Writing a script in a Given-When-Then format may be fairly simple. Writing a good Gherkin Script is an Art. Some are Picassos, some are Monets, some look like they were created by a toddler with a crayon. In this presentation Mr. Eakin will offer some tips on writing good Gherkin Scripts and show you how a well crafted Gherkin Script can be a beautiful work of Art.
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...TEST Huddle
We often claim the purpose of testing is to verify that software meets a desired level of quality. Frequently, the term “testing” is associated with checking for functional correctness. However, in large, complex software systems with an established user-base, it is also important to verify system constraints such as backward compatibility, reliability, security, accessibility, usability. Kim Herzig from Microsoft explores these issues with the latest webinar on test Huddle.
The document discusses test design and provides tips for becoming a better test designer. It explains that test design involves coming up with a well-thought-out and broad set of tests based on the application and schedule. Both over-testing and under-testing should be avoided. It also emphasizes practicing testing, collaborating with others, learning about the application, and finding new testing ideas to expand one's toolbox. The best test tool is noted as being one's own brain.
It's about how to involve unit-testing into an existing application.
Unit-testing is never easy to be approached, there's some experience about how to begin within it.
Automation vs. intelligence - "follow me if you want to live"Viktor Slavchev
Have you ever heard the story that your job is automatable, that all the human testers will be replaced by machines or automated tests and you will lose your job? Or even worse, that machines and artificial intelligence will take over our craft and our life and we will be totally useless. Do you buy these? Are you afraid?
“Come with me, if you want to live” – this was the famous line that many members of the Human resistance in the Terminator franchise used, when offering their help in the war against Skynet.
So, come with me (and John Connor), and join the testing resistance to fight on the side of intellect against the evil machine army. I am willing to challenge the I part in AI on contest by focusing on few key topics:
Can we translate testing into machine language? Polymorphic and mimeomorphic actions – what are these?
Do we really know what are the benefits of human testing? What are human testers irreplaceable for?
Do we really have empirical evidence that computers are capable of doing professional testing? Do we have evidence of “intelligence” at all?
Last year at RTC ‘17 I was asked – “Is AI the answer to all test automation problems?”. My answer is “No, it’s not!”. And this talk is my explanation why.
Author: Toan Le
Topic: Being a software tester is no longer an easy job. It was. More technologies and platforms have emerged, along with more complex applications have been created to serve users’ various expectations while the time to go live is getting much shorter over time. It's not only about desktop or web-based applications but also about mobile, cloud-based applications, IoT and more. It's not only about testing alone anymore. It's about continuous integration and continuous delivery indeed.
How to survive and thrive in this Era of New Technology seems to become a critical question for all of us. Being a Full-stack Tester could be an answer, even though we may have different starting points in this career journey. And, the next considerable questions are: what is it and how to get there?
My presentation is to give you some ideas to answer those questions through my own experience in the path of pursuing Full-stack Tester.
The document discusses challenges with testing software without requirements documentation and provides some strategies to help with testing in such situations. It notes that QA teams may have to test without knowing what the application is supposed to do. It then suggests several paths that testing teams can take when faced with limited or missing documentation, such as UI teams creating screenshots and development teams creating technical design documents. The document also advocates for daily standup meetings between teams to help coordinate testing efforts in lieu of documentation.
SXSW 2016 - Everything you think about A/B testing is wrongDan Chuparkoff
Everything you've learned about A/B Testing is based on the fundamentally flawed belief that there's one right answer. But the era of mass-market, one-right-answers is over. A/B Testing is our most valuable tool in the battle to create a more engaging web. But our strategy is broken. Don't worry, we can gain a better understanding of our users with a little data science. And we can reinvent A/B Testing... I will show you how.
At Civis Analytics, we specialize in Data Science. From here, we can clearly see that all people are not the same. So why are A/B Tests designed to search for a single solution? In this session I'll show you where A/B Testing is headed next. See you in Austin!
TDD and agile methods originated from attempts to manage large software projects more effectively. TDD involves writing automated tests before code to specify requirements and catch errors early. It helps avoid major redesigns later. Tests should fail initially and then code is written to pass the test, followed by refactoring. Patterns like starting simply, faking dependencies, and generalizing from examples help get code passing tests quickly. Pitfalls include not starting with a failing test or refactoring tests improperly. The session covered TDD history and techniques, with examples and opportunities for further learning.
30 of the best free software test tools in 60 minutes by Jess LancasterQA or the Highway
This document summarizes Jess Lancaster's presentation on the top 30 free software testing tools that can be covered in 60 minutes. It begins with an introduction and explains the format of sharing tools over 30 minutes. The tools are then grouped into categories and each tool is summarized with who it can be used by, what it can do and where to find it. Testers then had 7 minutes to prepare their own tools to share and took turns presenting tools in the given format over 15 minutes. The document concludes by thanking participants and providing Jess Lancaster's contact details.
This document outlines common mistakes made by new performance test engineers. It discusses 6 main mistakes: 1) only checking HTTP status codes without validating transactions, 2) using improper think and pause times, 3) prematurely identifying bottlenecks without root cause analysis, 4) making false assumptions during tests, 5) attempting analysis before tests complete, and 6) getting stuck on anomalies that don't reproduce by only running tests once. The document emphasizes the importance of validation, realistic timing, methodical testing, letting tests complete before analysis, and running tests multiple times to avoid non-reproducible issues.
The document discusses different types of software testing methodologies - white box testing, black box testing, and grey box testing. White box testing involves testing source code and focuses on code coverage. Black box testing is conducted from an end user perspective to validate requirements. Grey box testing uses a combination of white box and black box techniques. The document also outlines principles of software testing such as early testing, risk-based testing, and that exhaustive testing is impossible.
Test analysis & design good practices@TDT Iasi 17Oct2013Tabăra de Testare
The document discusses test analysis and design best practices. It covers defining test objectives, analyzing test items to identify conditions, designing test cases using various techniques, and ensuring traceability between requirements and test cases. Good practices for writing effective test cases are also presented, such as using a standardized naming convention and writing steps that verify a single testing idea. The importance of analysis and design in translating requirements into testable items prior to execution is emphasized.
Maelscrum / Business Story Manager OverviewPaul Gerrard
The document provides an overview of the Business Story Method, Story Platform, and Maelscrum tool. It describes how the method is used for requirements analysis, planning, execution and reporting. The Story Platform brings together the Business Story Manager and Maelscrum tools to support the method. Maelscrum allows users to create requirements, stories, scenarios, processes and link them to enable traceability and testing.
Want to know the case for Test-Driven Development? Want to know style tips and gotchas for Testing and TDD? Let Alex Chaffee, former Mad Scientist at Pivotal Labs, tell you everything you didn't know you didn't know about testing.
The document discusses unit testing and provides guidance on how to effectively implement unit testing. It defines unit testing as testing individual units or components of software code to verify they are functioning as intended. The document outlines best practices for unit testing such as writing test cases that cover valid, invalid, and boundary conditions. It also recommends testing frameworks like JUnit that can automate running test cases. Overall, the document advocates for developing a rigorous unit testing strategy and practicing habits like writing tests first and continuously running tests to improve code quality.
This document provides an introduction to unit testing. It discusses what should and should not be tested, how to structure tests using the Arrange Act Assert pattern, and tips for writing good tests. Some key points covered include testing complex code, edge cases, classes that change often, and avoiding testing globals, statics, and database interactions. The goal is to have tests that are independent, test single behaviors, and help find bugs when code changes.
Using Stories to Test Requirements and SystemsPaul Gerrard
The document discusses using business stories to test requirements and systems. It explains that stories can help identify omissions, inconsistencies, and ambiguity in requirements. Stories are applicable at any stage of a project for different purposes. Structured stories follow a common format with a header, scenarios with given/when/then structures, and can have multiple scenarios to test different conditions. Stories can validate requirements by example and generate both manual and automated test cases. The document argues that a structured, disciplined approach to stories can benefit both agile and structured development approaches.
The document discusses various aspects of unit testing including definitions, benefits, naming standards, and best practices. It provides definitions for terms like error, defect, failure. It outlines the benefits of unit testing like finding bugs early, enabling code refactoring. It discusses what should be tested like boundaries, error conditions. It also provides examples of good test names and guidelines for structuring and naming unit tests.
The document discusses unit testing and provides guidance on effective unit testing practices. It defines key terms like error, defect, and failure. It outlines the benefits of unit testing like finding defects earlier and maintaining stable code. It discusses naming conventions and frameworks for unit tests. It provides examples of different types of unit tests and guidelines for writing good unit tests that are independent, fast, and test all functionality. The document emphasizes testing boundary conditions and errors as well as documenting test cases.
The document discusses various aspects of unit testing including definitions, benefits, naming standards, and best practices. It provides definitions for terms like error, defect, failure. It outlines the benefits of unit testing like finding bugs early, enabling code refactoring. It discusses what should be tested like boundaries, error conditions. It also provides examples of good test names and guidelines for structuring and naming unit tests.
Test cases are documents that contain test data, preconditions, test steps, expected results, and postconditions to verify a specific requirement. They provide a starting point for test execution and leave the system in a defined state. Good test cases are accurate, economical, traceable, repeatable, reusable, simple, objective, relevant, avoid duplication and dependency. Test cases should be written based on requirements documents and cover both positive and negative scenarios using clear language. An ideal test case includes an ID, use case ID, test objective, preconditions, test data, test steps, expected results, actual results, cycle, date, tester, status, severity, and resolution status.
Three principles of Apex testing are provided:
1. Use assertions to validate expected behavior and outputs. Every test method should include at least one assertion.
2. Use Test.startTest() and Test.stopTest() to isolate code from setup and ensure governor limits are hit.
3. Write both positive and negative tests. Positive tests validate expected behavior, while negative tests validate exceptions are properly handled for invalid inputs.
We’ve all been there. We work incredibly hard to develop a feature and design tests based on written requirements. We build a detailed test plan that aligns the tests with the software and the documented business needs. And when we put the tests to the software, it all falls apart because the requirements were changed without informing everyone. Mary Thorn says help is at hand. Enter behavior-driven development (BDD), and Cucumber and SpecFlow, tools for running automated acceptance tests and facilitating BDD. Mary explores the nuances of Cucumber and SpecFlow, and shows you how to implement BDD and agile acceptance testing. By fostering collaboration for implementing active requirements via a common language and format, Cucumber and SpecFlow bridge the communication gap between business stakeholders and implementation teams. In this workshop, practice writing feature files with the best practices Mary has discovered over numerous implementations. If you experience developers not coding to requirements, testers not getting requirements updates, or customers who feel out of the loop and don’t get what they ask for, Mary has answers for you.
B4 u solution_writing test cases from user stories and acceptance criteriab4usolution .
Writing Test Cases From User Stories And Acceptance Criteria:
Overview user Stories
Overview Requirement
Overview Acceptance Criteria
Overview Test Cases
Specification-by-Example: A Cucumber ImplementationTechWell
We've all been there. You work incredibly hard to develop a feature and design tests based on written requirements. You build a detailed test plan that aligns the tests with the software and the documented business needs. When you put the tests to the software, it all falls apart because the requirements were updated without informing everyone. But help is at hand. Enter business-driven development and Cucumber, a tool for running automated acceptance tests. Join Mary Thorn as she explores the nuances of Cucumber and shows you how to implement specification-by-example, behavior-driven development, and agile acceptance testing. By fostering collaboration for implementing active requirements via a common language and format, Cucumber bridges the communication gap between business stakeholders and implementation teams. If you experience developers not coding to requirements, testers not getting requirements updates, or customers who feel out of the loop and don't get what they ask for, be here!
Test reporting is something few testers take time to practice. Nevertheless, it's a fundamental skill—vital for your professional credibility and your own self management. Many people think management judges testing by bugs found or test cases executed. Actually, testing is judged by the story it tells. If your story sounds good, you win. A test report is the story of your testing. It begins as the story we tell ourselves, each moment we are testing, about what we are doing and why. We use the test story within our own minds, to guide our work. James Bach explores the skill of test reporting and examines some of the many different forms a test report might take. As in other areas of testing, context drives good reporting. Sometimes we make an oral report; occasionally we need to write it down. Join James for an in-depth look at the art of the reporting.
Software testing
Developers Belief on Software Testing
Developers Responsibility for testing
Test writing methods
State based testing
Behavioural/interaction based testing
Writing a Testable Code
Flaw 1 - Constructor does Real Work
Flaw 2 - API lies about it's real dependencies
Flaw 3 - Brittle Global State & Singletons
Testing Frameworks and tools for Java...
Mockito and PowerMock...
Testing Models
Stubs Based Testing Model
Mocked Objects Based Testing Model
JUit 4.+ and TestNG
https://www.adroitlogic.com
https://developer.adroitlogic.com
This document discusses the importance of good design principles for test automation code. It provides examples of applying basic design concepts like avoiding duplication and separating concerns when automating tests using the Robot Framework and Selenium. The examples start simply by extracting duplicated steps in a single test into keywords and variables. They progress to splitting functionality across multiple files as "resources" and parameterizing tests to run with different data values. The goal is to demonstrate how non-programmers can design maintainable automated tests by applying basic coding best practices.
The document discusses test case generation for verifying and testing database functionalities. It describes test case generation as the process of writing SQL test cases and designing them based on the functionalities of an application. The purpose is to check the output against expected results. Multiple techniques for generating test cases are discussed, including goal-oriented, random, specification-based, and source-code-based approaches. Best practices for writing quality test cases are also provided.
Exploratory testing is an approach to testing that emphasizes the freedom and responsibility of testers to continually optimize the value of their work. It is the process of three mutually supportive activities done in parallel: learning, test design, and test execution. With skill and practice, exploratory testers typically uncover an order of magnitude more problems than when the same amount of effort is spent on procedurally scripted testing. All testers conduct exploratory testing in one way or another, but few know how to do it systematically to obtain the greatest benefits. Even fewer can articulate the process. Jon Bach looks at specific heuristics and techniques of exploratory testing that will help you get the most from this highly productive approach. Jon focuses on the skills and dynamics of exploratory testing, and how it can be combined with scripted approaches.
Similar to Acceptance And Story Testing Patterns - By Charles Bradley (20)
HOW VOCERA LEVERAGES SYNERZIP FOR ENHANCEMENT OF VOCERA PLATFORM & ITS USER E...Synerzip
Steve Newson, Global VP, Systems Engineering, Vocera says forward thinking of Synerzip team added great value to Vocera.
To know more about how Vocera & Synerzip partnership is enhancing the leading healthcare platform for clinical communication & workflow to deliver safe, efficient quality patient care, visit https://synerzip.com/story/steve-newson-global-vice-president-systems-engineering-vocera/.
Synerzip is a software development partner that provides full software development lifecycle services including testing. They utilize a dual-shore model with experienced teams in the US and India to reduce costs by 50%. Synerzip follows agile development processes and best practices for testing such as test automation, test case management, and tracking bugs and metrics. They have experience delivering projects for clients across industries and technologies.
Test Driven Development – What Works And What Doesn’t Synerzip
This document discusses test driven development (TDD) and quality assurance practices for agile software development. It introduces Synerzip, an offshore software development partner, and describes their agile development lifecycle involving short iterations with user stories, estimation, testing, and customer approval. The benefits of practices like TDD, continuous integration, unit testing, and automation are outlined. Challenges with implementation and common mistakes are also discussed. Various testing methodologies and tools used in agile projects are defined.
Distributed/Dual-Shore Agile Software Development – Is It Effective?Synerzip
This webinar covers the best practices for making dual-shore Agile work effectively.
Topics that are covered -
Business case for Dual-Shore development
• Business case for Agile
• Can Dual-Shore and Agile be combined effectively?
• Challenges
• Best Practices
• Synerzip Introduction
Stay tuned for Synerzip's upcoming webinars that you may be interested in https://www.synerzip.com/webinars/
Using Agile Approach with Fixed Budget ProjectsSynerzip
This webinar covers the best practices, alternative approaches for effectively using Agile in fixed budget projects.
Get to know more about Synerzip's upcoming webinars at https://www.synerzip.com/webinars/
The document discusses the role of quality assurance (QA) in agile teams. It compares the traditional and agile approaches to QA, outlining the agile QA responsibilities which include helping define user stories and acceptance criteria, estimating stories, ensuring testing is accounted for in planning, and more. Common mistakes like not involving QA throughout or having them run tests in subsequent sprints are also covered.
The document discusses several agile techniques for mobile app development, including hyper-prototyping, community code scrounging, and user design studios. Hyper-prototyping involves rapidly iterating on prototypes multiple times per day to get quick feedback. Community code scrounging involves searching online developer communities to find and integrate code snippets. User design studios bring together stakeholders to collaboratively design app UIs in a workshop format.
Challenges in Traditional Organizations
• Impact on Agile Process
• Tweaking Agile For Your Situation
Development in short iterative cycles builds better trust
relationship and a stronger engagement between the
product owner/ customer and the development team.
Stay tuned for our upcoming webinars at https://www.synerzip.com/webinars/ that might be of your interest.
Accelerating Agile Transformations - Ravi VermaSynerzip
This webinar discusses three organizational change techniques which can help accelerate Agile transformation.
learn about a simple framework for Accelerating Agile Transformation, with practical techniques you can apply.
Read more at https://www.synerzip.com/webinar/accelerating-agile-transformations/
The document discusses product management basics from an agile perspective. It defines the roles of product managers and product owners, noting that product managers take on a broader strategic role while product owners focus on the development team. It also outlines common failure modes for each role and organizational models for scaling the roles. The conclusion emphasizes that agile has increased the scope of product management work.
Product Portfolio Kanban - by Erik HuddlestonSynerzip
The document discusses applying lean and kanban principles beyond software development to the wider organization. It describes three critical practices for a "Product Portfolio Kanban": 1) stakeholder-based investment themes and business case management to optimize organizational value, 2) upstream and downstream work-in-progress (WIP) limits to enable flow, and 3) dynamic allocations based on organizational capacity and appetite. Implementing these practices can help avoid unintended consequences of agile success and increase overall organizational value.
Modern Software Practices - by Damon PooleSynerzip
This session provides an overview of the following modern practices:
Continuous integration
Refactoring
Unit tests
Multi-stage continuous integration
One piece flow
Cross-functional teams
Product backlog
Story point estimation
User stories
Burn-up charts
Read more at https://www.synerzip.com/webinar/modern-software-practices/
The document discusses context-driven leadership and managing projects based on their level of uncertainty and complexity. It describes a model where projects are categorized as sheepdogs, cows, bulls, or colts based on having low or high levels of uncertainty and complexity. The appropriate leadership approach depends on the project type - sheepdog projects need agility, cow projects need defined interfaces, bull projects need both agility and process, and colt projects are laissez faire. Reducing uncertainty or complexity can involve changing attributes like team size or location. Leadership requires a balance of developing processes, people, technology, and business skills to match the project context.
This document provides an overview and summary of a presentation on unit testing, test-driven development, and behavior-driven development. The presentation covers the basics of each approach, provides examples, and discusses the benefits including increased code quality, reduced defects, and more confidence in the code. It emphasizes that testing should be integrated into the development process from the start.
Pragmatics of Agility - by Venkat SubramaniamSynerzip
This webinar covers the essence of Agile and provides guidance on dealing with common impediments.
Only one thing matters in software development – to successfully deliver a product so users can derive value. If we’re not succeeding with it, it does not matter what the process is called or how we do it. Agile development can help reduce risk and increase the chances of success, but there is no magic wand we can wave at the problem for a quick-fix. It takes disciplined, dedicated, and continuous effort to achieve the desired results.
Read more from the original copy at https://www.synerzip.com/webinar/pragmatics-of-agility-webinar-february-2011/
It covers -
- Pros and cons of different strategies for developing mobile applications.
- Leading choices for cross platform mobile application development. While there are many frameworks for cross platform application development, we will discuss two leading frameworks namely PhoneGap and Titanium Mobile.
Find original copy at https://www.synerzip.com/webinar/cross-platform-mobile-app-development/
It covers ATDD, BDD, UTDD, Lean & Kanban, Technical debt, Value focus & many more.
Every year, world wide Agile Annual Conferences takes place & Synerzip's CEO & CTO use to attend it & bring key takeaways over the years.
Original copy at https://www.synerzip.com/webinar/agile2011-conference-key-take-aways-2011/
This webinar discusses how to do individual performance evaluation in Agile team environment.
concludes with the introduction of 6 tangible techniques for performance evaluation of Agile teams and team members. Included in these techniques is the “annual agile performance review”. These techniques can be easily integrated into your existing environment in order to emphasize the expected behaviors of an Agile team based on the fundamental Agile principles.
Read more from the original copy at https://www.synerzip.com/webinar/performance-evaluation-in-agile/
This webinar discusses how to use Kanban techniques with your Agile teams.
In this session, Damon Poole, Founder and CTO of AccuRev, will introduce Kanban from a Scrum perspective, show how the Lean practice of “one piece flow” is the key to both, and look at how to mix and match Scrum and Kanban to fine tune a process that fits your circumstances.
Read more from the original copy at https://www.synerzip.com/webinar/scrum-and-kanban-oct2011/
This webinar discusses the concept of Technical Debt and approaches for managing it effectively.
Technical debt is the consequence of choosing a software design or construction approach that is expedient but increases complexity and future costs. It can impede the team’s ability to add new features, quickly fix bugs, and evolve the software product. From a business perspective, technical debt can keep a company from remaining competitive in today’s dynamic marketplace.
Read more from the original copy at https://www.synerzip.com/webinar/managing-technical-debt-jan2012/
What to do when you have a perfect model for your software but you are constrained by an imperfect business model?
This talk explores the challenges of bringing modelling rigour to the business and strategy levels, and talking to your non-technical counterparts in the process.
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLESanfaltahir1010
Image: Include an image that represents the concept of precision, such as a AI helix or a futuristic healthcare
setting.
Objective: Provide a foundational understanding of precision medicine and its departure from traditional
approaches
Role of theory: Discuss how genomics, the study of an organism's complete set of AI ,
plays a crucial role in precision medicine.
Customizing treatment plans: Highlight how genetic information is used to customize
treatment plans based on an individual's genetic makeup.
Examples: Provide real-world examples of successful application of AI such as genetic
therapies or targeted treatments.
Importance of molecular diagnostics: Explain the role of molecular diagnostics in identifying
molecular and genetic markers associated with diseases.
Biomarker testing: Showcase how biomarker testing aids in creating personalized treatment plans.
Content:
• Ethical issues: Examine ethical concerns related to precision medicine, such as privacy, consent, and
potential misuse of genetic information.
• Regulations and guidelines: Present examples of ethical guidelines and regulations in place to safeguard
patient rights.
• Visuals: Include images or icons representing ethical considerations.
Content:
• Ethical issues: Examine ethical concerns related to precision medicine, such as privacy, consent, and
potential misuse of genetic information.
• Regulations and guidelines: Present examples of ethical guidelines and regulations in place to safeguard
patient rights.
• Visuals: Include images or icons representing ethical considerations.
Content:
• Ethical issues: Examine ethical concerns related to precision medicine, such as privacy, consent, and
potential misuse of genetic information.
• Regulations and guidelines: Present examples of ethical guidelines and regulations in place to safeguard
patient rights.
• Visuals: Include images or icons representing ethical considerations.
Real-world case study: Present a detailed case study showcasing the success of precision
medicine in a specific medical scenario.
Patient's journey: Discuss the patient's journey, treatment plan, and outcomes.
Impact: Emphasize the transformative effect of precision medicine on the individual's
health.
Objective: Ground the presentation in a real-world example, highlighting the practical
application and success of precision medicine.
Data challenges: Address the challenges associated with managing large sets of patient data in precision
medicine.
Technological solutions: Discuss technological innovations and solutions for handling and analyzing vast
datasets.
Visuals: Include graphics representing data management challenges and technological solutions.
Objective: Acknowledge the data-related challenges in precision medicine and highlight innovative solutions.
Data challenges: Address the challenges associated with managing large sets of patient data in precision
medicine.
Technological solutions: Discuss technological innovations and solutions
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Drona Infotech is a premier mobile app development company in Noida, providing cutting-edge solutions for businesses.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISTier1 app
Are you ready to unlock the secrets hidden within Java thread dumps? Join us for a hands-on session where we'll delve into effective troubleshooting patterns to swiftly identify the root causes of production problems. Discover the right tools, techniques, and best practices while exploring *real-world case studies of major outages* in Fortune 500 enterprises. Engage in interactive lab exercises where you'll have the opportunity to troubleshoot thread dumps and uncover performance issues firsthand. Join us and become a master of Java thread dump analysis!
Project Management: The Role of Project Dashboards.pdfKarya Keeper
Project management is a crucial aspect of any organization, ensuring that projects are completed efficiently and effectively. One of the key tools used in project management is the project dashboard, which provides a comprehensive view of project progress and performance. In this article, we will explore the role of project dashboards in project management, highlighting their key features and benefits.
14 th Edition of International conference on computer visionShulagnaSarkar2
About the event
14th Edition of International conference on computer vision
Computer conferences organized by ScienceFather group. ScienceFather takes the privilege to invite speakers participants students delegates and exhibitors from across the globe to its International Conference on computer conferences to be held in the Various Beautiful cites of the world. computer conferences are a discussion of common Inventions-related issues and additionally trade information share proof thoughts and insight into advanced developments in the science inventions service system. New technology may create many materials and devices with a vast range of applications such as in Science medicine electronics biomaterials energy production and consumer products.
Nomination are Open!! Don't Miss it
Visit: computer.scifat.com
Award Nomination: https://x-i.me/ishnom
Conference Submission: https://x-i.me/anicon
For Enquiry: Computer@scifat.com
Odoo releases a new update every year. The latest version, Odoo 17, came out in October 2023. It brought many improvements to the user interface and user experience, along with new features in modules like accounting, marketing, manufacturing, websites, and more.
The Odoo 17 update has been a hot topic among startups, mid-sized businesses, large enterprises, and Odoo developers aiming to grow their businesses. Since it is now already the first quarter of 2024, you must have a clear idea of what Odoo 17 entails and what it can offer your business if you are still not aware of it.
This blog covers the features and functionalities. Explore the entire blog and get in touch with expert Odoo ERP consultants to leverage Odoo 17 and its features for your business too.
An Overview of Odoo ERP
Odoo ERP was first released as OpenERP software in February 2005. It is a suite of business applications used for ERP, CRM, eCommerce, websites, and project management. Ten years ago, the Odoo Enterprise edition was launched to help fund the Odoo Community version.
When you compare Odoo Community and Enterprise, the Enterprise edition offers exclusive features like mobile app access, Odoo Studio customisation, Odoo hosting, and unlimited functional support.
Today, Odoo is a well-known name used by companies of all sizes across various industries, including manufacturing, retail, accounting, marketing, healthcare, IT consulting, and R&D.
The latest version, Odoo 17, has been available since October 2023. Key highlights of this update include:
Enhanced user experience with improvements to the command bar, faster backend page loading, and multiple dashboard views.
Instant report generation, credit limit alerts for sales and invoices, separate OCR settings for invoice creation, and an auto-complete feature for forms in the accounting module.
Improved image handling and global attribute changes for mailing lists in email marketing.
A default auto-signature option and a refuse-to-sign option in HR modules.
Options to divide and merge manufacturing orders, track the status of manufacturing orders, and more in the MRP module.
Dark mode in Odoo 17.
Now that the Odoo 17 announcement is official, let’s look at what’s new in Odoo 17!
What is Odoo ERP 17?
Odoo 17 is the latest version of one of the world’s leading open-source enterprise ERPs. This version has come up with significant improvements explained here in this blog. Also, this new version aims to introduce features that enhance time-saving, efficiency, and productivity for users across various organisations.
Odoo 17, released at the Odoo Experience 2023, brought notable improvements to the user interface and added new functionalities with enhancements in performance, accessibility, data analysis, and management, further expanding its reach in the market.
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
Most important New features of Oracle 23c for DBAs and Developers. You can get more idea from my youtube channel video from https://youtu.be/XvL5WtaC20A
UI5con 2024 - Bring Your Own Design SystemPeter Muessig
How do you combine the OpenUI5/SAPUI5 programming model with a design system that makes its controls available as Web Components? Since OpenUI5/SAPUI5 1.120, the framework supports the integration of any Web Components. This makes it possible, for example, to natively embed own Web Components of your design system which are created with Stencil. The integration embeds the Web Components in a way that they can be used naturally in XMLViews, like with standard UI5 controls, and can be bound with data binding. Learn how you can also make use of the Web Components base class in OpenUI5/SAPUI5 to also integrate your Web Components and get inspired by the solution to generate a custom UI5 library providing the Web Components control wrappers for the native ones.
Flutter is a popular open source, cross-platform framework developed by Google. In this webinar we'll explore Flutter and its architecture, delve into the Flutter Embedder and Flutter’s Dart language, discover how to leverage Flutter for embedded device development, learn about Automotive Grade Linux (AGL) and its consortium and understand the rationale behind AGL's choice of Flutter for next-gen IVI systems. Don’t miss this opportunity to discover whether Flutter is right for your project.
A neural network is a machine learning program, or model, that makes decisions in a manner similar to the human brain, by using processes that mimic the way biological neurons work together to identify phenomena, weigh options and arrive at conclusions.
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...kalichargn70th171
In today's business landscape, digital integration is ubiquitous, demanding swift innovation as a necessity rather than a luxury. In a fiercely competitive market with heightened customer expectations, the timely launch of flawless digital products is crucial for both acquisition and retention—any delay risks ceding market share to competitors.
Consistent toolbox talks are critical for maintaining workplace safety, as they provide regular opportunities to address specific hazards and reinforce safe practices.
These brief, focused sessions ensure that safety is a continual conversation rather than a one-time event, which helps keep safety protocols fresh in employees' minds. Studies have shown that shorter, more frequent training sessions are more effective for retention and behavior change compared to longer, infrequent sessions.
Engaging workers regularly, toolbox talks promote a culture of safety, empower employees to voice concerns, and ultimately reduce the likelihood of accidents and injuries on site.
The traditional method of conducting safety talks with paper documents and lengthy meetings is not only time-consuming but also less effective. Manual tracking of attendance and compliance is prone to errors and inconsistencies, leading to gaps in safety communication and potential non-compliance with OSHA regulations. Switching to a digital solution like Safelyio offers significant advantages.
Safelyio automates the delivery and documentation of safety talks, ensuring consistency and accessibility. The microlearning approach breaks down complex safety protocols into manageable, bite-sized pieces, making it easier for employees to absorb and retain information.
This method minimizes disruptions to work schedules, eliminates the hassle of paperwork, and ensures that all safety communications are tracked and recorded accurately. Ultimately, using a digital platform like Safelyio enhances engagement, compliance, and overall safety performance on site. https://safelyio.com/
Malibou Pitch Deck For Its €3M Seed Roundsjcobrien
French start-up Malibou raised a €3 million Seed Round to develop its payroll and human resources
management platform for VSEs and SMEs. The financing round was led by investors Breega, Y Combinator, and FCVC.
2. About Me…
Professional Scrum Trainer, Scrum.org
Courses:
Professional Scrum Foundations(2 days)
Professional Scrum Master (2 days)
Started Scrum in 2008, Scrum Team Member (Java),
Scrum Coach
B.S., Computer Science
2www.synerzip.com
3. Why should I care about
Story Testing Patterns?
Increase Productivity and Efficiency
Identify Tests up front (ATDD), before development
begins
Flushes out non-obvious test scenarios
Enable more Test Automation!
Tests can be automated while code is being written
Allows us to move faster without being sloppy, and
without comprehensive documentation
3www.synerzip.com
4. Overview
Quick Review of User Stories (15% of our time)
Basic Story Testing Patterns (50%)
Exercise (15%)
Advanced Story Testing Patterns (10%)
Special Story Testing Patterns (10%)
4www.synerzip.com
5. User Stories
Card/Title
token used for planning and reminder to have conversations
Conversations
Confirmations
aka Story Tests
aka Acceptance Tests
aka Test Confirmations
aka Acceptance Criteria
User Stories are not part of Scrum, but they are one good
way to represent Product Backlog Items in Scrum
5www.synerzip.com
6. A User Story Worst Practice
“As a <type of user>, I want <some functionality>, so that
<the user or stakeholder achieves some value>”
The Technique is not a worst practice, but thinking this is a
User Story IS a worst practice!
^^ This is not a User Story!
^^ This is 1/3 of a User Story
^^ This is the least important 1/3 of the User Story!
I argue that Story tests are the most
important part, and they are achieved
via Conversations
6www.synerzip.com
7. Warning!!
Story Tests and these patterns are NOT:
Documentation techniques.
Living documents that are maintained.
User Stories only convey *new* behavior of a system.
Strict contracts.
7www.synerzip.com
8. What Story Tests Are…
Story Tests are:
A Communication and testing technique.
The results of collaboration and conversation.
Defined during backlog grooming, before development
begins, at least at a high/conceptual level.
Ideally automated to create an Agile Specification.
Not all automated Story Tests are at the UI level
8www.synerzip.com
9. Agile Manifesto Relevance
Summation of previous two slides:
We value
“Working software over comprehensive documentation”
“Individuals and interactions over processes and tools”
9www.synerzip.com
10. Two Story Tests that Always Apply
Old behavior still works correctly
PO has accepted the story
Best Practice: Always get immediate signoff from the PO
– Don’t wait until Sprint End.
10www.synerzip.com
11. How we’re going to proceed
For each Pattern Category
Advice on Communication Mediums
For each Pattern
Description
Context (Good For/Bad For)
An Example or two
11www.synerzip.com
12. Basic Story Testing Patterns
“Test that…”
Given/When/Then (aka Gherkin style)
Specification By Example – Conceptual
Specification By Example – Concrete
12www.synerzip.com
13. Communication Mediums –
Basic Story Testing Patterns
Best
A wiki or whiteboard is (Best)
Hand written (paraphrased) on 5 X 8 cards (2nd Best)
Word Processing Document (last resort)
Worst
Almost all ALM Tools
13www.synerzip.com
14. Optimize Your Documentation
Q: How much do I document?
A: The minimum amount that could possibly work.
Q: How will I know if it’s working?
A: If your Product Owner often has to point out things not
done, that were already mentioned in previous User Story
conversations. This is a sign that you might need to
document more, and/or add more Story Tests. If this rarely
happens, then maybe you should try documenting less!
Iterate to the optimum!
The optimum amount will vary widely by team.
14www.synerzip.com
15. Pattern: “Test that…”
The technique
“Test that <some new behavior happens>”
“Test that <some really important old behavior still
happens>” (less frequent)
Conceptual
Avoid using specific test data
15www.synerzip.com
16. Pattern Context: “Test that…”
Good For
Beginner Story Testers
Simple Tests
Tests that are hard to describe or understand using the
other patterns
16www.synerzip.com
17. Pattern Context : “Test that…”
Bad For
Experienced Story Testers who know of a more
appropriate pattern to use
Tests with a lot of setup logic or behavior logic.
Tests where behavior depends on numerous test inputs
17www.synerzip.com
18. Used in some of the examples…
18www.synerzip.com
19. Examples: “Test that…”
AT-1. Test that, when a user enters an incorrect old password,
they get an error message indicating incorrect credentials.
AT-2. Test that three incorrect submissions of the old
password within 1 hour results in the user being logged out
from the system.
AT-3. Test that, when a user clicks on the "Continue
Shopping" link, it takes them to the home page.
AT-4. Test that the order confirmation contains:
An order number
Estimated arrival date
Customer service email address
19www.synerzip.com
20. Pattern: Given/When/Then
The technique
Given <some test precondition or setup>
When <some trigger event>
Then <some new behavior occurs>
(or less frequently, Then <some really important old behavior
still occurs>)
Might use specific test data
Use “AND”, “OR” to join statements as necessary
20www.synerzip.com
21. Pattern Context:
Given/When/Then
Good For
Tests that require a lot of preconditions, setup.
Tests that require setup that is important or easily
forgotten
Tests that have a specific, non obvious, trigger.
Tests where there are few expected outputs
21www.synerzip.com
22. Pattern Context:
Given/When/Then
Bad For
Simple tests
Tests that have unimportant/simple/obvious
preconditions
Tests where there are multiple different inputs and
multiple different outputs
Tests where a single Given/When/Then only describes
one of numerous very similar test scenarios
22www.synerzip.com
23. Examples: Given/When/Then
AT-1.
Given
A user who has submitted an incorrect old password 2 times
in the last hour
When
The user submits an incorrect password (for the 3rd time)
Then
The system logs the user out AND
The system displays:
the customer service phone number.
a message telling them to call customer service.
23www.synerzip.com
24. Examples: Given/When/Then
AT-2.
Given
A user that is logged in AND
the user is an admin user OR the user's account has been
flagged by Fraud
When
The user submits an incorrect password (for the 3rd time)
Then
The system logs the user out AND
The system generates an email to the production support
team with the following info:
user id of the user AND
the user's phone number on file
24www.synerzip.com
25. Pattern: Specification By Example
(SBE)
The technique
Create a table of the most important Examples (testing
scenarios) that specify test inputs and expected test
outputs.
Similar to the "decision table" concept in tools like
Fitnesse
Be sure to create enough examples to exercise all
important logic/test paths
25www.synerzip.com
26. Pattern Context: SBE
Good For
Tests that have numerous
Inputs that affect output behavior
Outputs/expected behaviors
Tests where it’s important to test a lot of different data
scenarios
Tests where the trigger event is somewhat obvious
Any test where it seems like a table would be useful to:
describe the test better, or
help explore all of the possible inputs and outputs for a test.
26www.synerzip.com
27. Pattern Context: SBE
Bad For
Simple tests
Tests that are more about verifying simple UI behavior
For instance – “Test that an error message is displayed when
the user enters an incorrect password.”
Test where there is really only one input or precondition.
27www.synerzip.com
28. SBE-Conceptual vs. SBE-Concrete
Technique differences
For the conceptual form, avoid using specific data, but
instead describe the data conceptually.
For the concrete form, use actual test data.
Choosing Conceptual vs. Concrete
Try to at least have the Conceptual form done before
development begins on a story.
Concrete form is usually better, though it is harder for
teams to get done before development begins.
28www.synerzip.com
32. Example 1
Pat: "For this story, we need to calculate the shipping
for orders. Our shipping prices are done by weight.
For under 10 pounds, the cost is $25. For under 50
pounds, the cost is $35, and for under 100 pounds, the
cost is $75. As you know, we don’t accept orders over
100 pounds."
Payton: “Sounds good, that seems pretty easy.”
Pat: “I thought so too."
32www.synerzip.com
33. Characteristics of this story
Fairly simple (favors ‘Test That’ pattern)
Numerous expected outputs, inputs affect outputs
(favors ‘Specification By Example’ patterns)
The test setup and trigger events are fairly obvious or
unimportant. (‘Given/When/Then’ is not favored)
33www.synerzip.com
34. Example 1: Possible Story Tests
AT-1.
Test that orders under 10 lbs are charged $25 for
shipping.
AT-2.
Test that orders that are between 10lbs and under 50lbs
are charged $35 for shipping.
AT-3.
Test that orders 50lbs and over are charged $75 for
shipping.
34www.synerzip.com
35. Example 1: Possible Story Tests
Order Weight Shipping Cost
0-10lbs $25
10.01lbs-50lbs $35
> 50lbs $75
35
Order Weight Shipping Cost
0lbs $25
10.00 lbs $25
10.01 lbs $35
50.00 lbs $35
50.01 lbs $75
99.99lbs $75
Specification By Example - Concrete
Specification By Example - Conceptual
www.synerzip.com
36. Example 2
User Story Title: RR154 – Logout goes to home page
User Story Conversations:
Pat: "For this next story, here is what I want. Right now, when a user clicks on the
'logout’ link in the upper right hand menu, it takes them to a basically blank page
that tells them that we've logged them out. In the future, rather than going to
basically a blank page, I want the system to take them to the home page with all of
our products, and some sort of message up near the top that uses that same
message."
Payton: "I think it says 'You have successfully logged out.' "
Pat: "Yes, that's right, that one. Just make sure that the logout message is highly
visible near the top of the page -- I don't want it to get lost in the page."
Charles: "On other web sites, I've seen it presented like in a small rectangle with
a green background, to make it stand out from a mostly white page."
Pat: "That works fine, but I don't want to specify 'The How', right? You folks have
taught me that I only get to specify 'The What'"
Bailey: "Aahhhhh, right!"
36www.synerzip.com
37. Characteristics of this story
Fairly UI related (favors ‘Test That’ pattern)
Fairly simple story tests (favors ‘Test That’ pattern)
The test setup and trigger events are important, but
probably not hard to remember, either. (moderately
favors ‘Given/When/Then’)
Input/Output scenarios are not numerous – only a
couple (‘Specification By Example’ patterns not
favored)
37www.synerzip.com
38. Example 2: Possible Story Tests
Using 'Test That' pattern
AT-1
Test that, when a user clicks the logout link, the system
navigates the user to the home page.
AT-2
Test that, after navigating the user to the home page, the
system displays a message like "You have successfully
logged out.“ (logout message)
AT-3
Test that the logout message is highly visible and near the
top of the page. (Ask Pat to approve aesthetics)
38www.synerzip.com
39. Example 2: Possible Story Tests
Using ‘Given/When/Then’ pattern
AT-1.
Given a user that is logged in,
When the user clicks on the "logout link"
Then test that the system navigates the user to the home
page.
AT-2.
Given a user that has just logged out
When the system navigates the user to the home page
Then test that the system displays the existing logout
message in a highly visible way, near the top of the page.
39www.synerzip.com
40. Example 2: Possible Story Tests
Mixing ‘Given/When/Then’ and ‘Test That’ patterns
AT-1.
Given a user that is logged in,
When the user clicks on the "logout link"
Then test that the system navigates the user to the home
page.
AT-2
Test that, after a logout navigates the user to the home
page, the system displays a message like "You have
successfully logged out.“ (logout message)
40www.synerzip.com
41. Example 3
User Story Title: MKG-44 Limit Product Quantities
User Story Conversations:
Pat: "For Marketing story 44, here is what I'm looking for. I'd like to limit
users to only being able to purchase a maximum quantity of 5 of any one
item in any one order."
Payton: "Hmmm... That seems weird. I would assume we want to make
as many sales as possible?"
Pat: "Yes, I know, but what we've found is that we often don't have the
inventory to be able to supply that many units. Also, many of the orders
for more than 5 items turn out to be fraudulent anyway. So, for now, we
just want to limit the quantity to be 5 items."
Charles: "Pat, do you have any vision for how we do this?"
Pat: "I don't really care -- just something that looks nice. Maybe show me
what you come up with and we can collaborate from there."
Charles: "Ok."
41www.synerzip.com
42. Example 3: Possible Story Tests
AT-1.
Test that a user is unable to purchase more than 5 of the
same item in any one order.
AT-2.
Test that, when a user attempts to purchase more than 5,
the system displays a message indicating no more than 5
of any item can be purchased.
42www.synerzip.com
44. Advanced Story Testing Patterns
Bullet Points
“Test with…”
Work best with:
Teams that are highly co-located with PO
Stories that are very small (2-3 days)
Tests that are very simple.
Tests with fairly obvious expected behavior
44www.synerzip.com
45. Communication Mediums –
Advanced Story Testing Patterns
Best
Hand written (paraphrased) on 5 X 8 cards (Best)
A wiki or whiteboard (2nd Best)
ALM tool (Last resort)
45www.synerzip.com
49. Communication Mediums –
Special Story Testing Patterns
Best
Picture of handwritten diagram from a whiteboard
(Best)
Diagram in drawing tool, but only if the logic is complex
enough to warrant something more fancy than a hand
written diagram (2nd Best)
Worst
Fancy diagram in some fancy drawing tool that takes
way more time than it should.
49www.synerzip.com
53. Summary
Don’t be afraid to mix and match, even within the same
story!
Story Tests are the most important part of any User Story,
and they are the result of conversations.
Tip for Beginners: Start with “Test that…” and work your
way up from there.
Tip for Intermediates: Start working in new patterns,
where they fit nicely.
Try to get as many Story Tests automated as you can. Test
automation is essential to superior Agility.
Closing Tip: Story tests are often a great way to slice User
Stories!
53www.synerzip.com
54. Resources
One Page PDF Chart with all Story Testing Patterns
http://ScrumCrazy.com/STPChart
Article: User Story Basics
http://www.scrumcrazy.com/User+Story+Basics+-
+What+is+a+User+Story%3F
Article: The Bradley User Story Maturity Model
http://www.scrumcrazy.com/The+Bradley+User+Story+Matu
rity+Model
To contact me:
Charles@ScrumCrazy.com
To download presentation:
http://www.ScrumCrazy.com
Click on “Presentations”
54www.synerzip.com
56. Synerzip in a Nut-shell
1. Software product development partner for small/mid-sized technology
companies
Exclusive focus on small/mid-sized technology companies, typically
venture-backed companies in growth phase
By definition, all Synerzip work is the IP of its respective clients
Deep experience in full SDLC – design, dev, QA/testing, deployment
2. Dedicated team of high caliber software professionals for each client
Seamlessly extends client’s local team, offering full transparency
Stable teams with very low turn-over
NOT just “staff augmentation”, but provide full mgmt support
3. Actually reduces risk of development/delivery
Experienced team - uses appropriate level of engineering discipline
Practices Agile development – responsive, yet disciplined
4. Reduces cost – dual-shore team, 50% cost advantage
5. Offers long term flexibility – allows (facilitates) taking offshore team captive
– aka “BOT” option
www.synerzip.com