Agile and TDD with C Training Course
TDD, or Test Driven Development, is an approach to developing software where coding, testing, and design occur in tandem throughout the software development cycle. Agile is a broader process and management approach to software development that emphasizes incremental delivery, team collaboration, continual planning, and continual learning.
In this instructor-led, live training (onsite or remote), participants will learn how to write high-quality C applications using a TDD and Agile development approach. Participants will put their knowledge into practice by carrying out a series of hands-on exercises to create a well-designed and well-tested C application.
By the end of this training, participants will be able to:
- Install and configure development and testing tools needed to carry out TDD
- Design, develop and unit test a C application using a TDD approach
- Apply planning and management practices of Agile development
Audience
- Developers
- Project managers
Format of the Course
- Part lecture, part discussion, exercises and heavy hands-on practice
Notes
- To request a customized training for this course, please contact us to arrange.
Course Outline
Introduction
- Benefits of TDD and Agile
TDD (2 Days)
Installing and Configuring Automated Unit Testing Frameworks
TDD Approaches
- Designing software using TDD
- Refactoring software
- TDD workflows and patterns
Implementing TDD
- Collaborating Modules
- Understanding Test Fakes, Stubs, Doubles, and Mocks
- Writing good unit tests
- Improving existing tests
- Refactoring an application
- Writing tests for legacy C
- Adapting TDD for embedded software development
- Test-Driving Next to the Silicon with Mocks
Agile (1 Day)
Introduction
- Agile vs Traditional Software Development Approaches
- The Agile Manifesto
Implementing Agile
- Release Planning, Iteration Zero
- Iteration Planning, Estimation
- Requirement Review, Daily Stand-up
- Team Quality, Iteration Testing, Acceptance
- Iteration Review (Showcase)
- Retrospectives
- Lesson learned of Agile Principles
Summary and Conclusion
Requirements
- An understanding of C programming
- An understanding of software testing concepts
Need help picking the right course?
Agile and TDD with C Training Course - Enquiry
Agile and TDD with C - Consultancy Enquiry
Consultancy Enquiry
Testimonials (7)
The exercises whit which we were able to familiarise with the TDD
Csongor Benedek - ACCENTURE
Course - Agile and TDD with C
I liked working in small groups. :)
Nikoletta Domak - ACCENTURE
Course - Agile and TDD with C
I really enjoyed the overall positive and encouraging attitude of the trainer and the atmosphere in the calls. The course was very well structured and the analogies and examples used to explain the theory were very helpful. Very happy with the practical part too - simple and understandable tasks, that drives the students to apply the theory in practise :)
Lasma Matusevica - ACCENTURE
Course - Agile and TDD with C
The encouraged open-form discussions on topics presented make it feel more like a productive learning experience.
Ilmars Zeps - ACCENTURE
Course - Agile and TDD with C
The style of the trainer, he explained everything in a calm and orderly manner that made following his lecture very easy and engaging
Rares Calin Rapsigan - ACCENTURE
Course - Agile and TDD with C
Well organized and explained, with a lot of practical examples and live coding, it enlarged my understanding on the subject of Agile and TDD development.
Barabas Attila - ACCENTURE
Course - Agile and TDD with C
The fact that I have learnt a new approach for writing unit tests is the part I liked most about the training. I also liked the free talk we had, the fact that we debated certain topics, I liked the team work we had, it made us analyse from a different perspective the requirements of user stories and I also appreciated the intervention of the trainer that suggested us different solutions when we were stuck on taking some decisions.
Crina-Maria Rosu - ACCENTURE
Course - Agile and TDD with C
Provisional Upcoming Courses (Contact Us For More Information)
Related Courses
Managing Projects using Waterfall and Agile Techniques
14 HoursThis 2 day course is suitable for any IT professionals who are interested in using the Waterfall model and how people have traditionally tried to deal with its shortcomings - including, but not limited to, Agile approaches.
The aim of the 1st day is to give an overview of these approaches enabling you to decide what might suit them in your environment.
The 2nd day looks at project management techniques and good practices that have been identified from Agile, and which can be applied in a Waterfall or Agile context.
Advanced C Programming
28 HoursThis instructor-led, live training in Portugal (online or onsite) is aimed at programmers who wish to tap into C's more advanced features and capabilities to optimize and extend the power, resilience and quality of their software applications.
By the end of this training, participants will be able to:
- Solve problems efficiently by writing high-quality code.
- Select the right methods and approaches for the job at hand.
Agile Essentials
14 HoursThe iSQI Agile Essentials course is an internationally recognised qualification, Aimed at anyone involved in agile Projects and wants to become familiar with working in an agile environment. This includes Project Managers, Quality Managers, Software Development Managers, Business Analysts, Developers, Testers, IT Directors and Management Consultants. The course is comprised of eight sections and takes participants through the lifecycle of an agile project from the release planning and writing user stories to the iteration review (showcase) and retrospective. The first day focuses on the key principles (55% of the day on theory, 45% exercises), the second is dominated by practical application (40% theory, 60% exercises).
Course Objectives
- Value the principles behind agile manifesto and its approach to software development
- Appreciate the roles within an agile team
- Understand how to contribute as an agile team member to quantifiable requirements
- Apply Whole Team quality methods to ensure acceptance criteria are met
- Appreciate the importance of effective Iteration Reviews and how to contribute to continuous improvement through retrospectives
敏捷软件测试理论基础与实践
14 HoursAgile testing refers to a series of testing practices that conform to agile development methods and provide timely and continuous feedback on software quality issues .
Agile Software Testing with Continuous Integration
28 HoursAgile Software Testing is a series of testing practice that provides feesback to software quality issues in a timely and continuous manner following the principles of agile development.
Continuous Integration (CI) refers to all developers in a team merging their work several times a day.
Agile Software Testing Overview
7 HoursThis course provides a brief introduction to Agile software testing. It deals with foundational test concepts, within the context of Agile (Scrum) development and uses Crispin & Gregory's (More Agile Testing, 2014) Agile Testing Quadrants model as a framework to explore contemporary principles and practices of Agile testing.
Agile, TDD and Swift
35 HoursThis 5 day course is for developers who wish to write high quality iOS applications in Swift. This is a hands on course which involves writing a number of increasingly complex high quality applications. Delegates will need to have an Apple copmputer with the latest version of OS X and Xcode installed. Delegates wishing to run applications on real devices, rather than emulators, will need to be registered with Apple as iOS developers and have their devices registered.
Test Driven Development
21 HoursThis instructor-led, live training in Portugal (online or onsite) is aimed at intermediate-level software developers and QA engineers who wish to adopt and master TDD principles and practices to improve code quality and development efficiency.
By the end of this training, participants will be able to:
- Understand the principles and workflow of Test-Driven Development (TDD).
- Write effective and maintainable unit tests.
- Utilize mocking frameworks to create comprehensive test scenarios.
- Apply TDD as a design tool to create robust and flexible code.
Ansi C for Embedded Systems
14 HoursC programming with a focus on how to use it for Embedded System Developments.
Business Modeling for an Agile Enterprise
14 HoursObjective:
Helping Business Analysts to understand how to efficiently model and validate their business processes and resources in order to increase business agility of their organization on the basis of their target architecture and changing market needs.
This 2 day training course aims at helping delegates to learn how to model their business processes and resources in order to adapt them to changes of their goals, strategies and impacted capabilities as part of the target architecture. On the basis of the key elements of business performance (strategies, tactics, KPI, business capabilities, etc...), delegates learn there how to elaborate a vision centric business process and resource cartography. Then, only using the appropriate BPMN and UML notation adapted to their language, they understand how to adapt them to changing strategies, tactics and policies.
Efficient Requirement Management using Agile Methods and Agile UML Modeling
21 HoursObjective:
This training course aims at helping product managers, products owners, business analysts, system architects and developers understand how to efficiently Manage Requirements on the basis of the product vision till guiding developers accurately in implementing them.
More in detail, this course aims at assisting product managers in better defining the value propositions of their products on the basis of strategies and stakeholder needs. Business Analysts and product owners understand how to describe requirements of the product backlog then discover appropriate epics and user stories of the system while contributing to the required value creation. Along interactive case study exercises, participants learn how to describe in detail such requirements in order to validate correct understanding of needs and prepare system acceptance tests. Thus, only using a very common and productive UML profile, they learn to structure requirements in order to communicate efficiently with architects and developers through an iterative requirement gathering process.
Audience:
- Product Managers
- Product Owners
- Business Analysts
- Anyone interetsted in the Requirements Management Process
Leading the Lean-Agile Software Enterprise with the Scaled Agile Framework® - Scaled Agilist Certification (SA)
14 HoursThis two-day course teaches the Lean-Agile principles and practices of the Scaled Agile Framework® (SAFe®).
You’ll learn how to execute and release value through Agile Release Trains, how to build an Agile Portfolio, and how to lead a Lean-Agile transformation at enterprise scale.
You will gain an understanding of the Lean-Agile mindset and how to apply the principles and practices of SAFe to support Agile teams, programs, program portfolio management, and to coordinate large Value Streams. Attending the class prepares you to take the exam and become a certified SAFe® Agilist (SA). Associated Certification: SAFe Agilist (SA)
Unit Testing with C
35 HoursThis instructor-led, live training in Portugal (online or onsite) is aimed at software testers who wish to use C programming to create unit tests for C code.
By the end of this training, participants will be able to:
- Use unit testing frameworks in C to produce unit tests.
- Script custom C unit tests and add them to a call list.
- Simplify the process of debugging and refactoring code with test-driven development.