Shift Left Testing: A New Paradigm Shift To QualityPooja Wandile
Organizations have realized the benefits of making testing more inclusive during the software development process, something that is not thought later but a continuous activity. Agile testing is changing the norms of traditional testing and gaining more momentum with new practices such as BDD, ATDD, Shift left testing, etc.
The document discusses QA best practices in an Agile development environment. It describes key aspects of Agile like iterative delivery, self-organizing teams, and rapid feedback. It addresses challenges of fitting QA into short iterations and questions around testing approaches. The document advocates for testing to be collaborative, automated, and continuous throughout development. It provides recommendations for QA roles in activities like planning, stand-ups, retrospectives and acceptance testing. Overall it promotes testing practices in Agile that focus on early feedback, automation, and involvement of QA throughout the development process.
This document discusses adapting testing roles and processes to an agile development methodology. It notes that in agile, testers are full team members who participate in planning and requirements analysis from the start of each sprint. Testing activities occur throughout development rather than just at the end. Challenges in transitioning include changing traditional testing roles and resistance to change, while benefits include more transparent communication and continuous feedback between testers and developers. The document provides examples of agile testing practices and recommendations for improving testing efficiency such as increased test automation and planning.
Slides from a session presented by Fadi Stephan from Kaizenko at the 2019 Global Scrum Gathering in Austin, TX on 05/20/2019 DC. Also see the blog series on Agile Testing at https://www.kaizenko.com/agile-testing/
Abstract:
Many teams struggle with fitting in testing activities inside of a Sprint. They end up doing primarily development activities in a Sprint and push testing activities to run in dedicated testing Sprints following the coding Sprints or have a coding and testing Sprint running in parallel. However, in Scrum, the output of every Sprint is a potentially shippable product increment. This means the product increment should be well tested within the Sprint and ready to be delivered. Come to this presentation to learn how to tackle testing on an Agile team, what kind of tests to execute, what to automate and what not to automate, the different test responsibilities, and when to run which tests. Leave with a testing strategy that you can start applying the next day to gradually get a team to start testing from day 1 of the Sprint and deliver a true product increment at the end of each Sprint.
The document discusses test automation in agile environments. It covers Capgemini's World Quality Report on automation, the evolution of business models and IT ecosystems, and challenges with agile automation. Key topics include testing being embedded within the Scrum process with no separate schedule for testing, the importance of test-driven development and behavior-driven development, achieving high levels of automation coverage, and using tools like Cucumber, JUnit, and Selenium to support test automation. The document emphasizes that automation is necessary to achieve faster time to market and increased productivity in agile.
The document provides an overview of quality assurance and testing practices for agile projects. It discusses traditional and agile testing approaches, defines roles like testers and developers in agile teams, and outlines a test strategy including test planning, automation, and metrics. Key aspects of agile testing covered are testing throughout each sprint, the importance of collaboration, and ensuring quality is "baked in" through a whole team approach.
The document provides an overview of agile scrum testing methodology. It describes agile testing as testing practices that follow the agile manifesto and treat development as the customer of testing. It then outlines the key aspects of scrum testing including product backlogs, sprints, daily standup meetings, sprint planning and retrospectives. It also discusses the proposed scrum testing process of identifying test scenarios, writing test cases per sprint, delayed execution, and inclusion of defects in the product backlog.
The document outlines a test strategy for an agile software project. It discusses testing at each stage: release planning, sprints, a hardening sprint, and release. Key points include writing test cases during planning and sprints, different types of testing done during each phase including unit, integration, feature and system testing, retrospectives to improve, and using metrics like burn downs and defect tracking to enhance predictability. The overall strategy emphasizes testing early and often throughout development in short iterations.
"Shift Left" is a DevOps practice that provides an effective means to perform testing with or in parallel to development activities.
When shifting left, development, test and operations work together to plan, manage and execute automated and continuous testing to accelerate feedback to developers and improve the quality of changes early in the life-cycle. The rate of the accelerated feedback is determined by an organization’s desired outcomes for velocity of changes and capacity for feedback.
This document proposes an automated test architecture for the UI Builder application using REST API testing, UI testing, and integration testing. It recommends the Rest Assured library for API testing due to its ability to integrate with Jenkins and remove the need for manual HTTP calls. Protractor is proposed for UI testing as it allows testing Angular applications in JavaScript and integrates well with Selenium. Both test frameworks would be set up with their own Git repositories linked to Jenkins jobs. Integration testing would link the API and UI test repos. The test automation aims to provide faster feedback and reduce regressions as the application grows.
This document discusses the "shift left" testing strategy to overcome issues caused by late testing. It outlines how ambiguous requirements, compressed development timelines, and mounting technical debt can lead to a downward spiral of lower quality releases over time. The key aspects of the proposed shift left strategy are:
1. Creating test specifications before development begins using Gherkin syntax to make requirements objectively measurable.
2. Executing all test cases daily, even during development, to prove software delivery and contain issues early.
3. Measuring test coverage against requirements daily to accurately track percentage of delivery and foresee risks.
4. Leveraging cloud-based hyperscaled testing to maximize parallel test throughput and allow all tests
Role Of Qa And Testing In Agile 1225221397167302 8a34sharm
The document discusses the role of QA and testing in agile software development, describing key differences between traditional and agile testing approaches and outlining agile testing practices like test-driven development, continuous integration, regression testing, and exploratory testing. It also covers the role of testers in agile projects and provides an example of how one company, GlobalLogic, implements agile testing through a unique Velocity method and platform.
This document provides an overview of agile testing. It discusses what agile testing is, common agile testing strategies and stages, principles of agile testing, advantages such as reduced time and money and regular feedback, challenges like compressed testing cycles and minimal time for planning, and concludes that communication between teams is key to agile testing success. The agile testing life cycle involves four stages: iteration 0 for initial setup, construction iterations for ongoing testing, release for deployment, and production for maintenance. Principles include testing moving the project forward, testing as a continuous activity, everyone on the team participating in testing, and reducing feedback loops.
Let's explore what is agile testing, how agile testing is different than traditional testing. What practices team has to adopt to have parallel testing and how to create your own test automation framework. Test automation frameworks using cucumber, selenium, junit, nunit, rspec, coded UI etc.
*Software Testing Certification Courses: https://www.edureka.co/software-testing-certification-courses *
This Edureka PPT on "Software Testing Life Cycle" will provide you with in-depth knowledge about software testing and the different phases involved in the process of testing.
Below are the topics covered in this session:
Introduction to Software Testing
Why Testing is Important?
Who does Testing?
Software Testing Life Cycle
Requirement Analysis
Test Planning
Test Case Development
Test Environment Setup
Test Execution
Test Cycle Closure
Selenium playlist: https://goo.gl/NmuzXE
Selenium Blog playlist: http://bit.ly/2B7C3QR
Instagram: https://www.instagram.com/edureka_lea...
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Software Testing Process, Testing Automation and Software Testing TrendsKMS Technology
This is the slide deck that KMS Technology's experts shared useful information about latest and greatest achievements of software testing field with lecturers of HCMC University of Industry.
The concept of “shifting testing left” in the software development lifecycle is not new. Shifting testing from manual to automated and then upstream into engineering is a driving factor in DevOps and agile software development. However, Michael Nauman wonders why test automation, DevOps, and agile software development still frequently fail to deliver on their promises? Aligning and hardening your DevOps and test automation—along with streamlining your agile processes—is critical to your project. Michael shares how AutoCAD’s shifting testing left enabled improvements within their engineering team. Learn how the team increased engineering reliability and velocity, and forced process changes upstream into design and research all the way through to product support. Leave knowing why the concept of separation of concerns with regards to quality is as fundamental as the separation of code quality from product quality. Learn how the AutoCAD web team used process dogma and ruthless prioritization to combat metric idolatry and the host of other evils that hold teams back from fully realizing their potential and going beyond agile.
software testing, Regression testing meaning,
requirement of regression testing,
techniques of regression testing:- hybrid, retest all, Test case prioritization, Regression test selection.
pros and cons of using regression testing,
tools for regression testing :-
Relational Functional Tester(RFT)
Quick Test Professional (QTP)
selenium
This document discusses testing and quality assurance for ERP modules. It provides an overview of the testing process roadmap, including establishing requirements and project scope, test planning, case development, different types of testing like unit, integration and user acceptance testing. It also outlines the personnel involved in testing like QA managers, analysts, writers. Metrics for test development and execution are also covered.
To reduce the number of bugs during and after software development and improve the quality of the product, Shift Left Testing or Early Testing is implemented.
It is a method to push testing towards the early stage of software development like requirements defects, complicated designing, and so on.
By doing so, you uncover and solve the issues in an early testing phase before they become major.
https://www.testbytes.net/blog/what-is-shift-left-testing/
In this session, we would discuss what "Agile Testing" is, what are the well known methods and models of Agile Testing and what to expect on the future of Agile Testing.
A brief that includes the following:
- Software Testing
- Quality Assurance
- Quality Control
- Types of Testing
- Levels of Software Testing
- Types of Performance Testing
- API
- Verification & Validation
- Test Plan & Testing Strategy
- Agile & Waterfall
- Software Development Life Cycle
- Career Path
Agile Testing: The Role Of The Agile TesterDeclan Whelan
This presentation provides an overview of the role of testers on agile teams.
In essence, the differences between testers and developers should blur so that focus is the whole team completing stories and delivering value.
Testers can add more value on agile teams by contributing earlier and moving from defect detection to defect prevention.
This document provides guidelines for effective test automation at IBM Global Services. It discusses that automation is viewed as a silver bullet but can also frustrate if not implemented properly. The document recommends starting simple and increasing complexity as skills grow. It provides considerations for automation, such as tests that are long, repetitive, and non-subjective. The document outlines 10 guidelines for automation, including establishing standards, separating what from how, using a six phase process, and defining required skills. It also discusses functional decomposition and keyword-driven methodologies and provides an overview of automation tools.
Quality Jam: BDD, TDD and ATDD for the EnterpriseQASymphony
During Quality Jam 2016 I had the privilege of presenting with one of QASymphony's earliest customers, Better Cloud, on how methodologies like BDD, TDD and ATDD scale for the enterprises. Adam Satterfield is the VP of Quality Assurance at Bettercloud and has been in QA for many years; he has taught me a lot about Behavior Driven Development, Test Driven Development, Acceptance Test Driven Development. In the session we share a new way of testing-- what Adam and I believe to be the next generation of testing development.
We know that there are several ways to do testing and we are just showing one new way to do it - If this session doesn't inspire action, hopefully it will at least give you and your team something to think about.
The document provides an introduction to agile software development processes. It discusses the waterfall model and iterative and incremental model. It then defines agile as a collection of iterative development methodologies that are lightweight and value individuals, interactions, working software, and responding to change. The document outlines agile principles and practices like user stories, story points, test-driven development, pair programming, daily stand-up meetings, story boards, burn down charts, continuous integration, and retrospectives. It concludes with feedback from an agile team noting benefits like earlier defect detection but also challenges in applying new techniques and lack of product management involvement.
The document outlines a test strategy for an agile software project. It discusses testing at each stage: release planning, sprints, a hardening sprint, and release. Key points include writing test cases during planning and sprints, different types of testing done during each phase including unit, integration, feature and system testing, retrospectives to improve, and using metrics like burn downs and defect tracking to enhance predictability. The overall strategy emphasizes testing early and often throughout development in short iterations.
"Shift Left" is a DevOps practice that provides an effective means to perform testing with or in parallel to development activities.
When shifting left, development, test and operations work together to plan, manage and execute automated and continuous testing to accelerate feedback to developers and improve the quality of changes early in the life-cycle. The rate of the accelerated feedback is determined by an organization’s desired outcomes for velocity of changes and capacity for feedback.
This document proposes an automated test architecture for the UI Builder application using REST API testing, UI testing, and integration testing. It recommends the Rest Assured library for API testing due to its ability to integrate with Jenkins and remove the need for manual HTTP calls. Protractor is proposed for UI testing as it allows testing Angular applications in JavaScript and integrates well with Selenium. Both test frameworks would be set up with their own Git repositories linked to Jenkins jobs. Integration testing would link the API and UI test repos. The test automation aims to provide faster feedback and reduce regressions as the application grows.
This document discusses the "shift left" testing strategy to overcome issues caused by late testing. It outlines how ambiguous requirements, compressed development timelines, and mounting technical debt can lead to a downward spiral of lower quality releases over time. The key aspects of the proposed shift left strategy are:
1. Creating test specifications before development begins using Gherkin syntax to make requirements objectively measurable.
2. Executing all test cases daily, even during development, to prove software delivery and contain issues early.
3. Measuring test coverage against requirements daily to accurately track percentage of delivery and foresee risks.
4. Leveraging cloud-based hyperscaled testing to maximize parallel test throughput and allow all tests
Role Of Qa And Testing In Agile 1225221397167302 8a34sharm
The document discusses the role of QA and testing in agile software development, describing key differences between traditional and agile testing approaches and outlining agile testing practices like test-driven development, continuous integration, regression testing, and exploratory testing. It also covers the role of testers in agile projects and provides an example of how one company, GlobalLogic, implements agile testing through a unique Velocity method and platform.
This document provides an overview of agile testing. It discusses what agile testing is, common agile testing strategies and stages, principles of agile testing, advantages such as reduced time and money and regular feedback, challenges like compressed testing cycles and minimal time for planning, and concludes that communication between teams is key to agile testing success. The agile testing life cycle involves four stages: iteration 0 for initial setup, construction iterations for ongoing testing, release for deployment, and production for maintenance. Principles include testing moving the project forward, testing as a continuous activity, everyone on the team participating in testing, and reducing feedback loops.
Let's explore what is agile testing, how agile testing is different than traditional testing. What practices team has to adopt to have parallel testing and how to create your own test automation framework. Test automation frameworks using cucumber, selenium, junit, nunit, rspec, coded UI etc.
*Software Testing Certification Courses: https://www.edureka.co/software-testing-certification-courses *
This Edureka PPT on "Software Testing Life Cycle" will provide you with in-depth knowledge about software testing and the different phases involved in the process of testing.
Below are the topics covered in this session:
Introduction to Software Testing
Why Testing is Important?
Who does Testing?
Software Testing Life Cycle
Requirement Analysis
Test Planning
Test Case Development
Test Environment Setup
Test Execution
Test Cycle Closure
Selenium playlist: https://goo.gl/NmuzXE
Selenium Blog playlist: http://bit.ly/2B7C3QR
Instagram: https://www.instagram.com/edureka_lea...
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Software Testing Process, Testing Automation and Software Testing TrendsKMS Technology
This is the slide deck that KMS Technology's experts shared useful information about latest and greatest achievements of software testing field with lecturers of HCMC University of Industry.
The concept of “shifting testing left” in the software development lifecycle is not new. Shifting testing from manual to automated and then upstream into engineering is a driving factor in DevOps and agile software development. However, Michael Nauman wonders why test automation, DevOps, and agile software development still frequently fail to deliver on their promises? Aligning and hardening your DevOps and test automation—along with streamlining your agile processes—is critical to your project. Michael shares how AutoCAD’s shifting testing left enabled improvements within their engineering team. Learn how the team increased engineering reliability and velocity, and forced process changes upstream into design and research all the way through to product support. Leave knowing why the concept of separation of concerns with regards to quality is as fundamental as the separation of code quality from product quality. Learn how the AutoCAD web team used process dogma and ruthless prioritization to combat metric idolatry and the host of other evils that hold teams back from fully realizing their potential and going beyond agile.
software testing, Regression testing meaning,
requirement of regression testing,
techniques of regression testing:- hybrid, retest all, Test case prioritization, Regression test selection.
pros and cons of using regression testing,
tools for regression testing :-
Relational Functional Tester(RFT)
Quick Test Professional (QTP)
selenium
This document discusses testing and quality assurance for ERP modules. It provides an overview of the testing process roadmap, including establishing requirements and project scope, test planning, case development, different types of testing like unit, integration and user acceptance testing. It also outlines the personnel involved in testing like QA managers, analysts, writers. Metrics for test development and execution are also covered.
To reduce the number of bugs during and after software development and improve the quality of the product, Shift Left Testing or Early Testing is implemented.
It is a method to push testing towards the early stage of software development like requirements defects, complicated designing, and so on.
By doing so, you uncover and solve the issues in an early testing phase before they become major.
https://www.testbytes.net/blog/what-is-shift-left-testing/
In this session, we would discuss what "Agile Testing" is, what are the well known methods and models of Agile Testing and what to expect on the future of Agile Testing.
A brief that includes the following:
- Software Testing
- Quality Assurance
- Quality Control
- Types of Testing
- Levels of Software Testing
- Types of Performance Testing
- API
- Verification & Validation
- Test Plan & Testing Strategy
- Agile & Waterfall
- Software Development Life Cycle
- Career Path
Agile Testing: The Role Of The Agile TesterDeclan Whelan
This presentation provides an overview of the role of testers on agile teams.
In essence, the differences between testers and developers should blur so that focus is the whole team completing stories and delivering value.
Testers can add more value on agile teams by contributing earlier and moving from defect detection to defect prevention.
This document provides guidelines for effective test automation at IBM Global Services. It discusses that automation is viewed as a silver bullet but can also frustrate if not implemented properly. The document recommends starting simple and increasing complexity as skills grow. It provides considerations for automation, such as tests that are long, repetitive, and non-subjective. The document outlines 10 guidelines for automation, including establishing standards, separating what from how, using a six phase process, and defining required skills. It also discusses functional decomposition and keyword-driven methodologies and provides an overview of automation tools.
Quality Jam: BDD, TDD and ATDD for the EnterpriseQASymphony
During Quality Jam 2016 I had the privilege of presenting with one of QASymphony's earliest customers, Better Cloud, on how methodologies like BDD, TDD and ATDD scale for the enterprises. Adam Satterfield is the VP of Quality Assurance at Bettercloud and has been in QA for many years; he has taught me a lot about Behavior Driven Development, Test Driven Development, Acceptance Test Driven Development. In the session we share a new way of testing-- what Adam and I believe to be the next generation of testing development.
We know that there are several ways to do testing and we are just showing one new way to do it - If this session doesn't inspire action, hopefully it will at least give you and your team something to think about.
The document provides an introduction to agile software development processes. It discusses the waterfall model and iterative and incremental model. It then defines agile as a collection of iterative development methodologies that are lightweight and value individuals, interactions, working software, and responding to change. The document outlines agile principles and practices like user stories, story points, test-driven development, pair programming, daily stand-up meetings, story boards, burn down charts, continuous integration, and retrospectives. It concludes with feedback from an agile team noting benefits like earlier defect detection but also challenges in applying new techniques and lack of product management involvement.
Agile Testing Framework - The Art of Automated TestingDimitri Ponomareff
Once your organization has successfully implemented Agile methodologies, there are two major areas that will require improvements: Continuous Integration and Automated Testing.
This presentation illustrates why it's important to invest in an Automated Testing Framework (ATF) to reduce technical debt, increase quality and accelerate time to market.
Learn more at www.agiletestingframework.com.
Benefits of Agile Software Development for Senior ManagementDavid Updike
This is a presentation to Senior and Executive Managers which is used to explain how Agile Software Development processes and practices benefit them, their organization and their customers.
Technical Webinar: By the (Play) Book: The Agile Practice at OutSystemsOutSystems
In 2001, the Agile Manifesto took the world by storm, and it changed how software is built forever. Also in 2001, OutSystems, another disruptive force in the world of traditional waterfall software development, was born.
Not coincidentally, OutSystems has been using Agile Practices all along. However, because of the sheer speed at which we’re able to respond, we’ve had to come up with a few twists in our approach. We’re even putting it into a services delivery playbook.
In our webinar, “By the (Play)Book: The Agile Practice at OutSystems,” Engagement Guild Master and Expert Nuno Fernandes will show you how OutSystems approaches Agile Development and makes sure nothing slips.
In this session you will:
- Learn roles and respective responsibilities.
- Understand project phases with a clear focus on sprint development.
- Discover how we approach the user story life cycle in particular.
- See how a really solid structure, calendar and organization help maximize productivity.
Webinar: https://www.outsystems.com/learn/courses/59/webinar-the-agile-practice-at-outsystems/
Free Online training: https://www.outsystems.com/learn/courses/
Follow us on Twitter http://www.twitter.com/OutSystemsDev
Like us on Facebook http://www.Facebook.com/OutSystemsDev
This document discusses truths and misconceptions about agile software development. It begins by establishing that agile is more than a high-level concept, and discusses differences between traditional project management and agile principles. Key differences between agile methodologies like Scrum and XP are outlined. The document then addresses common misconceptions about agile and Scrum, establishing truths around topics like planning, fixed-date projects, risk management, rework, and the role of metrics and documentation in Scrum.
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanQA or the Highway
The document discusses Behavior Driven Development (BDD) and how it can help increase quality and prepare an organization for increased business demands. It describes BDD as an industry practice where the whole team collaborates on system testing and definition of done. BDD promotes requirements using examples, collaboration between roles, finding defects earlier and more often through automation, and keeping technical debt low.
About Agile & PMI Agile Certified Practitioner (PMI-ACP) OverviewAleem Khan
A properly implemented Agile method increases the speed of development, aligns individual and organization objectives, creates a culture driven by performance, supports shareholder value creation, achieves stable and consistent communication of performance at all levels, and enhances individual development and quality of life.
The document provides an overview of the agile software development process. It begins with defining agile as an iterative and adaptive approach to software development performed collaboratively by self-organizing teams. It then discusses agile principles like valuing customer collaboration, responding to change, and delivering working software frequently. The document also covers specific agile frameworks like Scrum and Extreme Programming, the role of user stories, estimation techniques like planning poker, and ceremonies like daily stand-ups, sprint planning and retrospectives. It concludes by comparing agile to the traditional waterfall model and defining some common agile metrics.
The document provides an overview of agile methods and approaches for software development. It discusses why agility is needed given rapidly changing business environments. Traditional sequential approaches are compared to iterative agile approaches. Specific agile frameworks like Scrum, Extreme Programming (XP), Kanban, and Lean-Agile are described. Benefits of agile include increased business value, reduced risk and uncertainty, and ability to respond to changing customer needs. The document provides details on how each framework works and when each is best applied.
• 5.3 years of experience in Software Testing (Functional Testing).
• 1.8 years of client onsite experience in Waltham, MA USA.
• Worked with Banking domain clients like JP Morgan Banking group (4 years’ experience)
• Excellent QA experience in all phases of Software Development Life Cycle (SDLC) and Software Testing Life Cycle (STLC).
• Good Experience and Knowledge in different project management models like waterfall and Agile Scrum.
• Expertise in Functional, Integration, Regression, SIT, Black Box and User Acceptance Testing (UAT).
• Extensive experience in creating Testing milestones like Test Plans, Test Scenarios, Test Strategies, Test Cases, Test Reports and RTMs.
• Played different roles – as Scrum Master, QA Lead, Senior Tester, SME, BA etc.
• Worked on – Requirement analysis, Test Condition preparation, Test script Creation in Manual & BPT format, Test Execution, Defect life cycle workflow, Performance testing etc.
• Business Analyst experience in working closely with product partners, defining requirements, creating design documents and interface diagrams.
• Dedicated, conscientious individual with strong sense of responsibility, work flexibility and adaptation to changing environments professionally and personally.
The document provides an overview of agile development, including its principles, types of agile methods, tools that support agile development, and when projects are well-suited to agile. It defines agile development as an iterative approach performed by self-organizing teams to produce high-quality software through early delivery and response to changing needs. The principles emphasize things like customer satisfaction, frequent delivery, collaboration, trusting motivated individuals, and responding to change.
This document provides an overview of agile software development and project progress monitoring. It defines agile as an iterative development approach based on self-organizing teams. Key aspects of agile include adaptive planning, evolutionary development, time-boxed iterations, and responding rapidly to changes. Status is displayed prominently and daily stand-up meetings occur. Common agile methods discussed are Scrum, Extreme Programming, and Kanban. Tools to support agile include Jira, VersionOne, and continuous integration tools.
The document provides an overview of agile development, including its definition, principles, types of agile methodologies, lifecycle, tools, and suitability for different types of projects. Agile development is an iterative approach that emphasizes early delivery of working software, collaboration between self-organizing cross-functional teams, and the ability to rapidly respond to changes in requirements. Some common agile methodologies discussed include Scrum, eXtreme Programming, and Lean Development.
The document discusses various metrics that can be used to measure performance on Agile teams. It begins by explaining common metrics like velocity, running tested features, and bugs. It then covers metrics for each principle of the Agile manifesto, including customer satisfaction surveys to measure value, test coverage for quality, and burn up/down charts for delivery. Other metrics discussed include collaboration metrics like cumulative flow diagrams and team surveys, as well as continuous improvement metrics like team radar assessments. The document provides examples and references for further information.
- Understand the principles behind the agile approach to software development
- Differentiate between the testing role in agile projects compared with the role of testers in non-agile projects
- Positively contribute as an agile team member focused on testing
- Appreciate the challenges and difficulties associated with the non-testing activities performed in an agile team
- Demonstrate a range of soft skills required by agile team members
Agile Project Management - An introduction to Agile and the new PMI-ACPDimitri Ponomareff
The PMI-ACP recognizes knowledge of agile principles, practices and tools and techniques across agile methodologies. If you use agile practices in your projects, or your organization is adopting agile approaches to project management, then this PDM will provide a full overview about this new PMI certification while exploring key agile principles, practices and techniques. If you always wanted to learn more about agile, this presenter is a certified Agile practitioner, trainer and coach so you will receive up to date information about the state of Agile and how it can most help you in your organization or your career.
Critical steps in Determining Your Value Stream Management SolutionDevOps.com
The document provides an overview of steps for determining a Value Stream Management (VSM) solution for an organization. It begins with an introduction of the speakers and outlines the webinar goals of explaining the comprehensive process for selecting a VSM solution. The webinar then details each step, including understanding why the steps are important, how solutions are determined through activities like future state mapping and return on investment analysis, and the expected outcome of team alignment around a recommended solution.
Continuous Performance Testing and Monitoring in Agile DevelopmentNeotys
Continuous Performance testing and monitoring is the best way to ensure application performance with quicker development cycles. Balancing Agile and DevOps velocity with the need for ongoing performance testing and monitoring is essential. We call it Continuous Performance Validation.
Dark Agile inhibits business agility. The document discusses dark agile, which is the antithesis of agile values and principles resulting in an inability to align the agile ecosystem. It introduces nine focus areas to overcome dark agile, including hyper-performing teams, team motivation, emotional intelligence, optimized flow, innovation, and product discovery/delivery synchronization. The document also provides examples of agile transformations at IBM and an insurance company that implemented agile development centers.
Design thinking and rapid prototyping enable organizations to innovate like startups. Companies that invest in design outperform peers, but many companies are slow to adopt these practices. Business agility requires a holistic approach where principles are applied flexibly based on an organization's unique needs, with a focus on mindset change over rigid processes. Innovation depends on understanding problems through collaboration and experimentation.
This document provides an overview of an agenda for a conference panel on agile frameworks. It lists several popular agile frameworks like Scrum, SAFe, Lean, Kanban, and others. For each framework, it provides a brief description of its characteristics and when it may be a good choice. It also discusses different agile houses or tribes that use variations of these frameworks. Finally, it introduces the panelists who will discuss customer and business drivers of agile adoption.
This document provides an overview of innovation processes and frameworks. It discusses how happiness results from closing the gap between expectations and reality. It then summarizes different innovation frameworks including the innovation funnel, design thinking process, lean startup process, and innovation vortex. It provides examples of tools that can be used within each stage of the innovation process like empathy maps, lean personas, and lean experiment templates. Finally, it emphasizes that different approaches are needed for exploration/disruptive innovation versus execution/sustaining innovation.
What is the best Agile Adoption or Agile Transformation organization and team structure and the talent needed to successfully implement Agile across the company? Is there a best approach?
This document provides an overview of measuring business value using agile methods. It begins with introductions of the presenter, Gervais Johnson, and his qualifications. The outline includes sections on business value, agile economics, defining business value, focusing areas for business value, and prioritizing features by business value. It discusses techniques for prioritizing business value like return on investment and net present value calculations. The document emphasizes linking business value determinations to a company's production function and financial metrics. It also addresses capitalizing agile software development costs appropriately between capital expenditures and operating expenses.
This document summarizes an event on deconstructing requirements for agile projects. It includes:
1) Biographies of panelists with experience in agile transformations and managing complex projects.
2) An overview of challenges with traditional upfront requirements documents and how agile focuses on delivering value.
3) A discussion of agile frameworks for requirements including user stories, personas, and decomposition of stories into tasks.
4) Examples of how to write good user stories and map them into epics, features, and tasks at different levels of granularity.
5) A demonstration of using story mapping techniques to plan releases and prioritize stories.
6) A description of breakout groups
The document discusses using Behavior Driven Development (BDD) and Test Driven Development (TDD) for software development. It provides background on several speakers for an upcoming event on BDD including their experience and qualifications. Finally, it outlines the agenda for the event which will cover XP, BDD, and a panel discussion on practices for the approaches.
This document summarizes a presentation on product discovery. It introduces concepts like design thinking, lean UX, design sprints, and how they relate to agile product development and discovery. It discusses tools like the lean canvas that can help structure product discovery work. It also notes some potential pitfalls to avoid, like being too focused on tools/practices over organizational culture. The presentation concludes by discussing next steps like organizing a grand challenge event and forming interest groups.
This document summarizes an Agile event on Scrum. It introduces two panelists: Gervais Johnson, Director of National Agile Practice at MATRIX, and Andrew Grutza, Director of PMO at First Republic Bank. The agenda includes discussions on Scrum fundamentals, comparisons to structured and project-led approaches, the Scrum framework, events, roles and cadence. It also covers potential "Dark Agile" patterns when the Agile ecosystem is not properly aligned. The document concludes with discussing the roadmap for future events on XP and BDD.
First session within the Gateway to Agile Series presented to the community at Twitter HQ on Jan 19. More information on Gateway to Agile at: https://www.meetup.com/Gateway-to-Agile-Bay-Area/about/
The document discusses how digital enterprise depends on DevOps proficiency. It provides context on digital enterprise and how external forces are driving digital transformations. DevOps is presented as fueling digital enterprise and key to strategies by aligning development and operations. Successful companies see benefits from DevOps like increased release frequency, faster lead times, higher market performance. Cultural challenges remain in adopting DevOps approaches.
⭐️ Bitcoin - Mining Race ⭐️ The Fastest Driven Bitcoin Movement ⭐️ english
⭐️ Referral link - https://miningrace.com/wallet/invite-activate/edA6xDgWMVLBAfCClWJy ⭐️
Invite code - edA6xDgWMVLBAfCClWJy
Mining Race - The fastest growing Bitcoin movement
Join the Ultimate Bitcoin Community Challenge. Race to the Top in Mining Race.
Cryptocurrencies are all about the community. And what better way to fully embrace the BTC community than a community-based mining program?
By participating in the Mining Race, you will not only contribute to the support of the Bitcoin blockchain but also earn more rewards for being a part of the Mining Race community!
Ready to join the Bitcoin Mining Race Challenge?
⭐️ Referral link - https://miningrace.com/wallet/invite-activate/edA6xDgWMVLBAfCClWJy ⭐️
Invite code - edA6xDgWMVLBAfCClWJy
THE SEXUAL HARASSMENT OF WOMAN AT WORKPLACE (PREVENTION, PROHIBITION & REDRES...ASHISHKUMAR504404
Article 11 of the Convention on Elimination of All Forms of Discrimination (CEDAW) to which India is a party requires it to take all appropriate measures to eliminate discrimination against women in the field of employment. Equality in employment can be seriously impaired when women are subjected too gender specific violence such as Sexual Harassment at Workplace.
Article 21 of the Constitution which is related to a right to life and personal liberty, includes the right to live with dignity, and in the case of women, it means that they must be treated with due respect, decency and dignity at workplace. With more and more women joining the workforce, both in organized and unorganized sectors, ensuring and enabling working environment for women through legislation became imperative. To achieve this objective the sexual harassment of women at workplace bill was introduce in the Parliament, and was passed by both the house of Parliament and received the assent of the President on 22nd April 2013 It came in to force on 09.12.2013.
It is to provide for safe, secure and enabling environment to every women irrespective of her age or employment status by fixing the responsibility on the employer as well as the District Magistrate (D.M) or (A.D.M) of every district in the state as a District Officer and laying down the statutory redressal mechanism.
A Bot Identification Model and Tool Based on GitHub Activity Sequencesnatarajan8993
These slides are presented at International Workshop on Bots in Software Engineering (BotSE) 2025 as a journal first presentation. The publication can be found at https://doi.org/10.1016/j.jss.2024.112287 and the RABBIT tool at https://github.com/natarajan-chidambaram/RABBIT.
Speech 3-A Vision for Tomorrow for GE2025Noraini Yunus
This SlideShare presentation explores critical choices ahead for Singapore as GE2025 approaches. It highlights the Singapore United Party's manifesto—a roadmap to balance innovation with sustainability, compassion with ambition, and inclusivity with excellence. Through affordable housing, equitable education, and accessible healthcare, Noraini Bte Yunus champions a thriving society. This inspiring message invites Singaporeans to unite, rise above challenges, and build a resilient, forward-looking nation. Together, we can turn aspirations into reality. Moving Forward, Together!
2025-05-04 A New Day Dawns 03 (shared slides).pptxDale Wells
Lesson 3 of 6 in a Heritage Bible Master Class study of "A New Day Dawns"
Heritage Bible Master Class meets every Sunday morning at 10:15 at the Heritage Palms Country Club, on the south side of Fred Waring, just east of Jefferson, in Indio, California. Please come check us out!
Speech 2-Unity in Diversity, Strength in SolidarityNoraini Yunus
This SlideShare presentation celebrates Singapore's journey through SG60, emphasizing resilience, inclusivity, and the vision for a fair, just, and united nation. It encapsulates the Singapore United Party (SUP) manifesto principles—strong starts for children, accessible housing and healthcare, and opportunities for all—while showcasing Noraini Bte Yunus's commitment to bridging divides, supporting the silver generation, and empowering every Singaporean to pursue their dreams. Together, let's honor the past and secure a brighter future. Moving Forward, Together!
ICSE 2025 Keynote: Software Sustainability and its Engineering: How far have ...patricialago3459
Thanks to its digital transformation, society depends on software. This is expected to bring important benefits but at the same time is accompanied by worrisome constraints. The societal role of software and its engineering is not new. Nor is their need to be sustainable. But what does it mean, really? And how far have we come with our research?
This talk wants to trigger reflection on the research being done, its impact and its true contribution to the complex and urgent problems posed by both society and our planet.
Inside, you’ll find practical, easy-to-implement strategies that uncover hidden profit opportunities in your daily operations—strategies that drive real growth without added risk.
If you're working harder than ever but not seeing the results you expect, this short read could be the reset your business needs.
The Business Dynamics of Quick Commerce.pdfRDinuRao
This research explores the transformative rise of Quick Commerce (Q-Commerce)—an advanced evolution of e-commerce that emphasizes ultra-fast delivery, typically within 15–30 minutes, using hyperlocal micro-fulfillment centers. With the rapid pace of urbanization and digitalization, Q-commerce is reshaping consumer expectations, retail strategies, and supply chain models.The seminar Presentation Report has been completed by me under the guidance of Dr. Varun Agarwal. The report investigates the pivotal components of this disruption across marketing, operations, sustainability, and long-term viability.
The study begins with a deep dive into consumer psychology, applying theories like Impulse Buying (Stern, 1962) and Maslow’s Hierarchy of Needs, highlighting how digital platforms exploit impulse-driven purchasing. Supported by Ajzen’s Theory of Planned Behavior, the research explains how attitudes, social norms, and perceived control influence the purchasing decisions in a fast-paced retail setting.
A core component of the research is marketing strategy. Q-commerce companies deploy AI-driven personalization, geo-targeting, influencer marketing, and loyalty programs to attract and retain customers. For instance, influencer-driven campaigns achieve conversion rates of up to 65%, showcasing their significance in a digital-first market.
Using secondary data from McKinsey, Deloitte, KPMG, Statista, and HBR, the paper presents compelling figures—Q-commerce grew from $0.5 billion in 2022 to $5.5 billion in 2025, with projections reaching $9.95 billion by 2029. The average order value has doubled, while CAGR stands at 4.5%, signifying rapid adoption. Despite the meteoric growth, the study critically assesses challenges to profitability, such as steep operational costs, steep discounts, and last-mile delivery expenses.
A comparative analysis of platforms—Blinkit, Swiggy Instamart, Zepto, BigBasket, and JioMart—reveals how market leaders differentiate through delivery speed, inventory accuracy, app integrations, and urban focus. Moreover, the research stresses the environmental and labor challenges that must be addressed—like packaging waste, carbon emissions, and gig worker instability.
The discussion extends into how Q-commerce forces traditional retailers to adapt, investing in EV logistics, dark stores, and sustainability measures. It underscores the AI-led shift in consumer behavior, and the need for balanced growth that prioritizes environmental responsibility and ethical labor practices.
In conclusion, the paper recommends a future roadmap for Q-commerce: promoting eco-friendly logistics, subscription models, fair employment, and policy alignment. It calls for future research to explore Tier-2 and Tier-3 city expansion and to craft long-term profitability frameworks. Ultimately, this study positions Q-commerce not just as a convenience, but as a catalyst for redefining urban retail economics and digital lifestyle
Microsoft Azure Data Fundamentals (DP-900) Exam Dumps & Questions 2025.pdfMinniePfeiffer
• For a full set of 640 questions. Go to
https://skillcertpro.com/product/microsoft-azure-data-fundamentals-dp-900-exam-questions/
• SkillCertPro offers detailed explanations to each question which helps to understand the concepts better.
• It is recommended to score above 85% in SkillCertPro exams before attempting a real exam.
• SkillCertPro updates exam questions every 2 weeks.
• You will get life time access and life time free updates
• SkillCertPro assures 100% pass guarantee in first attempt.
Microsoft Azure Data Fundamentals (DP-900) Exam Dumps & Questions 2025.pdfMinniePfeiffer
TestOps and Shift Left
1. 1
Prepared By:
Gervais Johnson
601 Montgomery St, Suite 650, San Francisco, CA 94111 | 415-678-1350 | www.MatrixRes.com
TestOps
Test Driven Development
and Shift Left
2. 2
Today’s Presenter
Gervais (Jay) Johnson, Agile Delivery Manager
Leads, trains, coaches teams and companies in Agile development and adoption
Architect, Application and Software Engineer, and Agile Leader for cross sector and
industry including NASA and DoD organizations
IBM - 16 Year Veteran and Thought Leader
30 Years developing applications and changing the world
Education and certifications
Certified Scrum Master and Scrum Professional
Scrum Master, Scrum Developer, Agile Expert Certified
PMI Project Management Professional
Scaled Agile Framework Program Consultant
IBM Certified Consultant, PM, SPSS, Agile Expert
Six Sigma Black Belt
3. 3
Outline
What is TestOps
TestOps Ecosystem
Shift Left Movement
Test Driven Development (TDD)
Behavior Driven Development (BDD)
Acceptance Test Driven Development (ATDD)
Continuous Testing (CT)
TDD Details
Open Discussion
4. 4
Introductions
What is your name?
What is your role?
What prior Testing and Agile experience do you
have?
0 to 10
0 = Brand New
10 = Testing Expert
5. 5 MATRIX Confidential
The Agile Manifesto- “BE AGILE”
We are uncovering better ways of developing software by doing it and helping others do it.
“Responding to change over
following a plan”
“Customer collaboration
over contract negotiation”
“Working software over
comprehensive
documentation”
“Individuals and interactions
over process and tools”
Values
“The most efficient and
effective method of
conveying information to
and within a development
team is face-to-face
conversation.”
“Welcome changing
requirements, even late in
development. Agile
processes harness change
for the customer's
competitive advantage.”
“Working software is the
primary measure of
progress.”
“Agile processes promote
sustainable development.
The sponsors, developers,
and users should be able to
maintain a constant pace
indefinitely.”
“Our highest priority is to
satisfy the customer
through early and
continuous delivery of
valuable software.”
“Deliver working software
frequently, from a couple of
weeks to a couple of
months, with a preference
to the shorter timescale.”
“At regular intervals, the
team reflects on how to
become more effective,
then tunes and adjusts its
behavior accordingly.”
“Continuous attention to
technical excellence and
good design enhances
agility.”
“Business people and
developers must work
together daily throughout
the project.”
“Build projects around
motivated individuals, give
them the environment and
support they need, and trust
them to get the job done,
“Simplicity -- the art of
maximizing the amount of
work not done – is
essential.”
“The best architectures,
requirements, and designs
emerge from self-organizing
teams”
Principles
6. 6
What is TestOps?
Testing never stops, it is continuous and is the fabric of enterprise operations and
the quality glue for Agile + DevOps
7. 7
TestOps Includes Various Testing
Are we building the right
product?
Are we building the product
right?
Business Facing
Technology Facing
Functional, Story &
Prototype Testing
Unit & Component
Testing
Business Facing
Technology Facing
Exploratory &
Usability Testing
Performance, Load
& Security Testing
CritiqueProduct
SupportingtheTeam
9. 9
An Agile TestOps Ecosystem Example B
‘Shift Left’ – Operational Concerns
Also BizDevOps and DevOpsSec is becoming an important part of the fabric or glue
10. 10
What is Shift Left Testing?
"Shift Left" is a QA practice being implemented in high-performninh Agile/DevOps teams
that provides an effective means to perform testing during and in parallel of software
development activities.
– Software Development, test and operations work together to plan, manage and execute automated
and continuous testing to accelerate feedback todevelopers
– The rate of the feedback is determined by an organization’s desiredvelocity
– Technology is used to automate processes and virtualizecomponents
QA/Testing is performed as a part of the development process (TDD) or as a service
running (BDD or DDD) in parallel to development activities, shifting left accelerates
feedback to developers and improves the quality of code delivered to QA
Shift left is an essential capability for Agile/DevOps teams and IT Operations teams
11. 11
Perspectives
– Testing: Begin test executionearlier
– Behavior Design Testing
– A/B Testing
– Feature Driven Testing
– Development: Act on feedback to achieve value
– PM: Resource allocation to address feedback
– Infrastructure: Shift left environments available
early, capacity drives availability
– Deployment: Accelerated capacity to meet test
periodicity
Activities:
– plan, create and automate integrationtest
cases in advance
– support a periodic cycle of integrationtesting
for the components/applications under
change
– prioritize, process, and resolve feedbackby
development teams within the feedback
period
– plan, automate and deploy components,
applications and virtual services
– plan, create and virtualizecomponent
services relevant to the development
activities
– execute delivery, integration, build, deploy,
testing, feedback and correction during the
defined periodicity.
Whatever testing you can perform shifts left - Integration testing could be your
first step as a means to provide a means to prepare for a formal QA and
reduce bottlenecks associated with Integration testing post development.
What is Left Shifting?
12. 12
Shift Left Planning Workshop – Part of Agile Adoption
Roadmap
Goals and
Assessment
•Client Capabilities: CurrentStatus
•Business Goals for Improvement
•Solution Capability Oriented
•People, Practices, Technology,information
Capability
Priorities
•Best Practices for SolutionCapabilities
•Discussions to refine ObjectiveCapability
•Prioritize Incremental Capabilities
•Vision, User Value, Pain and Complexity
Executive
Sponsor
Review
•Review Outcomes
•Assumptions & Risks
•Gain concurrence
•Identify next steps
Solution
Improvement
Roadmap
•Best Practices for AdoptingSolution
•Identify Key Milestones
•Roadmap activity to define actionableplan
•Define Quick Win Pilot
Day1Day2Day3Day4
Current State
Assessment
Objective & Prioritized
Capabilities
Agile Adoption Roadmap
DraftResults
Detailed 1-3 month roadmap
for initial win. High level
roadmap for remainder of
initiative. Executable week
following the workshop
Theme Activities Objective
13. 13
TDD and BDD Place
• Unit test (Unit)
• Integration test (Collaboration)
• User interface test (Frontend, ex. WatiN)
• Regression test (Continuous Integration)
• …, System, Performance, Stress, Usability, …
Test types:
• Black-box test
• White-box test
The only tests relevant to TDD and BDD is Black-box Unit Testing
14. 14
Feature Driven Development (FDD)
● Is a client-centric, architecture-centric, and pragmatic software
process
● Feature Breakdown Structure (FBS) instead of WBS
● A feature is a small, client-valued function expressed in the form:
<action> the <result> by/for/of/to a <object>
15. 15
Test Driven Development (TDD)
Is a rapid cycle of testing, coding, and refactoring
● Relies on a very short development
cycle
● Developer writes automated test case
first
● Test case defines desired improvement or
new function
● Next develops minimum amount of
code to pass test
● Lastly refactors the new code
to acceptable standards
Code refactoring is a "disciplined technique for restructuring
an existing body of code, altering its internal structure without
changing its external behavior"
16. 16
Behavior Driven Development (BDD)
● Outside-in and pull-based - Wire-frame > Test Cases > Coding
● Multiple-stakeholder, multiple-scale, high-automation
● Describes a cycle of interactions with well-defined outputs
● Results in the delivery of working, tested software that matters
18. 18
Agile Story and BDD
ID: 27
STORY NAME: Save a list of potential cars for later review
As a: Buyer
I can: Add a car to my wish list
So that: I can review my top choices at a later time.
Acceptance Criteria
Scenario 27.1: Add a car to my wish list
Given: A potential buyer is logged in
And: The car is available for sale
When: The ‘Add to Favorites’ option appears
And: A buyer flags the car for the wish list
Then: The car details are displayed in the wish list
Scenario 27.2: Review list of favorite cars
Given: A potential buyer is logged in
Given: A potential buyer has previously picked some favorite
cars’
And: A buyer clicks on “view my favorites’
When: The buyer views the wish list
And: The car is still available for sale
Then: The buyer can view the car summary in the wish list
Story
As a <role>,
I can <activity>,
so that <business value>
Scenarios
Given <context>
When <event>
Then <outcome>
23. 23
TDD History
• Test-driven development (TDD) is a software development technique that uses short
development iterations based on pre-written test cases that define desired
improvements or new functions. Each iteration produces code necessary to pass that
iteration's tests. Finally, the programmer or team refactors the code to accommodate
changes. A key TDD concept is that preparing tests before coding facilitates rapid
feedback changes. Note that test-driven development is a software design method,
not merely a method of testing.
24. 24
TDD Method and Cycle
New
require-
ment
Write
new test
Run
tests
Write
new
code
Run
tests
Refactor
Run
tests
• Write Test Code
– Guarantees that every functional code is
testable
– Provides a specification for the functional code
– Helps to think about design
– Ensure the functional code is tangible
• Write Functional Code
– Fulfill the requirement (test code)
– Write the simplest solution that works
– Leave Improvements for a later step
– The code written is only designed to pass the
test
• no further (and therefore untested code is
not created).
• Refactor
– Clean-up the code (test and functional)
– Make sure the code expresses intent
– Remove code smells
– Re-think the design
– Delete unnecessary code
26. 26
TDD Benefits
0%
20%
40%
60%
80%
100%
120%
140%
160%
MS: VS MS: MSN MS:
Windows
IBM: Drivers
Time To Code Feature
Time To Code Feature
using TDD
Defect density of team
Defect density of team
using TDD
Major quality improvement for minor time investment
27. 27
TDD Fundamental Mind Exercise
• When you first start at doing TDD you "know"
what the design should be. You "know" what
code you want to write. So you write a test that
will let you write that bit of code.
• When you do this you aren't really doing TDD –
since you are writing the code first in your mind,
mind change to write test first
• It takes some time and mentoring to realize that
you need to focus on the test first.
• Write the test for the behavior you want - then
write the minimal code needed to make it pass -
then let the design emerge through refactoring.
• Repeat until done.
• TDD and Paired Programming are a great
combination to improve quality and increase
delivery time
28. 28
TDD Adoption Hurdles
• Why, when TDD was born a
decade ago?
– The one and only reason: #1:
Learning curve…
– Infrastructure and willingness
• Why do most developers not
write unit tests, still?
http://weblogs.asp.net/rosherove/archive/2008/09/20/goodbye-mocks-
farewell-stubs.aspx
mocks, stubs, dependency injection, IoC containers, Extract & override
technique, RecordReplay, AAA and more
29. 29
TDD Fundamental Infrastructure
• Interfaces
• Dependency Injection
• Test Doubles (Mock Objects)
• Mocking Framework.
• The builder and fluent
interface patterns.
Either (the old way)
“Mock”
Using Interfaces, Dependency Injection and
Test Doubles (Mock Objects)
Or (the new way)
“Isolate” and “Fake”
Using Typemock Isolator
and AAA - The "Arrange-act-assert" pattern
• Refactoring
30. 30
Why No Unit Testing and no TDD
1. I don’t have time to unit test.
2. The client pays me to develop
code, not write unit test.
3. I am supporting a legacy
application without unit tests.
4. QA and User Acceptance Testing
is far more effective in finding
bugs.
5. I don’t know how to unit test, or I
don’t know how to write good
unit tests.
31. 31
TDD Maturity
• Classicists
– The classical TDD style is to use real objects if possible and a double if
it's awkward to use the real thing. So a classical TDDer would use a real
warehouse and a double for the mail service. The kind of double doesn't
really matter that much.
• Mockist
– A mockist TDD practitioner, however, will always use a mock for any
object with interesting behavior. In this case for both the warehouse and
the mail service.
• Isolator and Fake
– An isolator TDD practitioner, will always “isolate” or “fake” any object
with interesting behavior. In this case for both the warehouse and the
mail service.
The Classicists does White-box Integration testing
First generation TDD
The Mockist does White-box Unit testing
Sencond generation TDD
The Isolator and Fake does Black-box Unit testing
Third generation TDD
32. 32
TDD Maturity, adding BDD
• Behaviour-Driven Development (BDD)
– By Dan North
– BDD is another variation on TDD that tends to use mockist testing
• Test method names should be sentences
• A simple sentence template keeps test methods focused
– This sentence template – The class should do something – means you can only
define a test for the current class. This keeps you focused. If you find yourself
writing a test whose name doesn’t fit this template, it suggests the behavior may
belong elsewhere.
• An expressive test name is helpful when a test fails
– “Behavior” is a more useful word than “test”.
– Determine the next most important behaviour.
– Requirements are behavior, too.
– BDD provides a “ubiquitous language” for analysis.
– Acceptance criteria should be executable.
33. 33
How to start TDD/BDD
• You don’t have to start big
• Start new tasks with TDD
• Add Tests to code that you need to change or maintain – but
only to small parts
• Proof of concept
34. 34
References
• Books
– Test-Driven Development in Microsoft® .NET (http://www.amazon.co.uk/gp/product/0735619484)
– Test-Driven Development by Kent Beck (C++) (http://www.amazon.co.uk/gp/product/0321146530)
– Clean Code by Martin Fowler
– Refactoring by Martin Fowler
– Refactoring of Patterns by Kerievsky
• Blog
– The Typemock Insider Blog (http://blog.typemock.com/)
• Unit test study from Microsoft Research:
– http://research.microsoft.com/en-us/projects/esm/nagappan_tdd.pdf
– https://en.wikipedia.org/wiki/XUnit and https://en.wikipedia.org/wiki/List_of_unit_testing_frameworks
• Typemock
– http://www.typemock.com/
• Unit testing Silverlight:
– http://www.codeplex.com/CThru
• Other links:
– http://en.wikipedia.org/wiki/Test-driven_development
– http://www.testdriven.com/
– http://www.mockobjects.com/ - Online TDD book: http://www.mockobjects.com/book/index.html
– http://www.martinfowler.com/articles/mocksArentStubs.html
– http://dannorth.net/introducing-bdd
– http://behaviour-driven.org/Introduction
35. 35
TesOps Future Topics for Discussion
Testing Value Chain and Tools Chain
Test Automation Tools Demo
TDD and BDD Demo
Test Environment Management
Security Testing
Cloud Testing
Mobile Testing
Performance Testing
Test Data Management