Team-Driven Development is a vital component of the Agile Software Development Methodology and the overall DevOps movement. So, it is helpful to have, at a minimum, a high-level understanding of Agile practices and scrum ceremonies, and TDD fits into the overall Agile, Scrum, and DevOps landscape.
Team-Driven Development is a vital component of the Agile Software Development Methodology and the overall DevOps movement. So, it is helpful to have, at a minimum, a high-level understanding of Agile practices and scrum ceremonies, and TDD fits into the overall Agile, Scrum, and DevOps landscape.
In addition, part 1 serves as a levelling exercise to ensure that team members speak the same language during upcoming labs and discussions.
Components of Agile
User Stories.
Tasks.
Bugs.
Automated Builds.
Automated Tests.
Continuous Inspection.
The Role of TDD in Agile Development
Automated Unit Tests.
Automated Acceptance Tests.
The Role of TDD in Agile Development
Automated Unit Tests.
Automated Acceptance Tests.
Part 2: Unit Testing:
Unit Testing is a critical component of Team-Driven Development (TDD). Small code units are tested throughout the development process, which isolates functionality to ensure that individual parts work correctly.
Unit Test Fundamentals
Reason to do Unit Testing.
What to Test: Right BICEP.
CORRECT Boundary Conditions.
Properties of Good Tests.
Frameworks
What is JUnit.
JUnit Building Blocks.
Test Cases.
Test Suites.
Examples.
Agile Testing Strategy
Agile Testing Quadrant.
Automation Pyramid.
Assertions.
Test Attributes
Setup / TearDown.
JUnit Lifecycle.
System Under Test.
Test Design Strategy.
Naming our Tests.
Exceptions.
Lab: Introduction to Unit Testing
IDE and Project Setup.
Running our first Unit Test.
Explore Junit framework.
Test Attributes.
Assert Statements.
Part 3: Team-Driven Development:
Essential TDD techniques require developers to write programs in short development cycles, and critical steps must be taken. Tests are created before the code is written. Once the code passes testing, it is refactored to adhere to the most effective and acceptable standards.
TDD Rhythm
TDD Overview.
Red, Green, Refactor.
TDD Benefits.
Sustainable TDD
Development without TD.
Test Last.
Test Last in Parallel.
Test-Driven Development.
Supporting Practices
Collective Ownership.
Continuous Integration.
Eight Wastes of Software Development
Ripple effect of defects.
Partially Done Work.
Extra Features.
Relearning.
Handoffs.
Task Switching.
Delays.
Defects.
Test Automation
Automate, Automate, Automate.
Automate Early and Often.
Additional Topics Identified.
Lab: Team-Driven Development
Start Team-Driven Development on our example App.
Write unit team cases.
Experience RED, Green, Refactor Process.
Part 4: Principles of Agile Development
TDD is directly influenced by design, so it will be a priority to consider this during implementation. Considering design principles will enable teams to experiment with different approaches and gear towards more functional programming.
Design Principles Overview
Coding Principles.
isolation of the SUT.
Developing independently testable units.
Test doubles
Introducing test doubles.
Stubs.
Fakes.
Mocks.
Lab: Continue development on example App
Setting up Test doubles for our example app.
Discuss and implement Mocking.
Part 5: Refactoring
Refactoring is another essential technique of TDD, and most software development teams are most likely doing some form of refactoring regularly. Refactoring can be used in several different workflows, which will be explored in this Part.
Why Refactor?
Red, Green, Refactor.
Benefits.
Development without TDD.
Refactoring Methods
Refactoring Cycle
Reduce Local Variable Scope.
Replace Temp with Query.
Remove Dead Code.
Extract Method.
Remove Unnecessary Code.
Lab: Continue our example project
Implement new test cases.
TDD Cycle.
Discuss and implement Refactoring Needs.
Part 6: Pair Programming:
Pair Programming is an effective way to improve code quality. In this Part, we will discuss pairing and how it leads to better software design and a lower development cost.
Pair Programming & Advantages of Pairing
Both Halves of the Brain.
Focus.
Reduce Interruptions.
Reduce Resource Constraints.
Multiple Monitors.
Challenges.
Pairing Techniques
Pair Rotation.
Ping Pong Pairing..
Promiscuous Pairs
Pair Stairs.
Cross-Functional Pairing.
Lab – Experience pair programming and continue developing our example app.
Part 7: Acceptance Team-Driven Development (ATDD) & Behaviour-Driven Development (BDD)
Acceptance Tests are a basic form of functional specification, and Behaviour Driven Development dictates what happens as an effect of these tests being run. In this Part, we will cover the difference between them and how they are closely related.
Acceptance Testing
Acceptance Tests.
Why Acceptance Tests?.
Acceptance Test Execution.
Who Writes Acceptance Tests.
Pair Test Writing.
Best Practices for Effective Testing
Keys to Good Acceptance Tests.
Writing Acceptance Criteria.
Acceptance Test Example.
Acceptance Test-Driven Development (ATDD).
BDD vs. ATDD
Specification by Example.
BDD Frameworks.
BDD Examples.
Lab: Experience ATDD and BDD
Experience ATDD or BDD and discuss the impact on TDD.
Part 8: Simulation:
Experience Agile development with team-driven development, behaviour-driven development and pair programming
QAI is a global workforce development and consulting organization addressing the Education and Operational Excellence needs of Information Technology, Information Technology Enabled and knowledge intensive organizations.
Established in Orlando, USA, by William E. Perry in 1980, QAI today has a global footprint with offices and subsidiaries in India, USA, China, Malaysia, Singapore and Dubai.
QAI Global Institute, the workforce development division of QAI, focuses on creating education and training products and services to address competence development, assessments and professional IT certifications.
The Institute conducts industry research, houses the software QA, Testing, Business Analyst and PM Bodies of Knowledge and administers the professional certifications in these domains.
QAI Global Services, the consulting arm of QAI, addresses Operational Excellence, which organizations achieve through deployment of best practices and processes in areas such as process management, quality management, innovation management, project management, and IT service management.
About QAI Global Institute
QAI Global Institute conducts instructor led trainings (ILT), career programs, exam preparatory training and certification for both individuals and organizations. QAI has trained over 170,000 individuals and certified over 40,000 professionals in over 15 countries.
Today, the Institute caters to a wide variety of industries and provides access to a wealth of concepts and skill building reinforced through consulting, training, assessments, benchmarking, certification, conferences, and eLearning.
The institute supports the IT practitioner by facilitating corporate and individual membership programs. QAI’s focus on people, process, and technology helps organizations to achieve impressive results. It is this unique blend of services that makes QAI the service provider for knowledge-intensive organizations.
Tom Ticknor, QAI Global Institute’s Chief Operating Officer, based at QAI’s office in Orlando, Florida – USA said, “QAI Global Institute has the necessary resources to ‘breakthrough’ to the next level of products and services that our clients have been requesting, while maintaining the high level of quality that the industry has grown to expect from QAI.”
Ticknor went on to say, “With the increased diversity of our offerings, our integration group is combining and refining our portfolio so the worldwide team can provide multi-layered solutions to our clients.”
There is a growing dependence on people in sustaining competitive advantage in many organizations. Subsequently, there is a need for executives to understand and sharpen essential skills among their people.
Team building training program is essential for a company's succeÂss as they create a seÂnse of unity and shared purpose among teÂam members.
Interpersonal Effectiveness and Team Building Course is Offered by Executive Education, IIM Ahmedabad.
A highly engaging one-day training program packed with a plethora of fun activities and games focusing on the key characteristics of high performing teams. The high energy training program will help to equip members of a team with the essential skill set and mind set to be a professional team playe...
Building your team is a powerful tool in developing strengths, addresses weaknesses, and creating a work environment with ownership, positivity and results-focussed.
© 2024 coursetakers.com All Rights Reserved. Terms and Conditions of use | Privacy Policy