Duration: 2 Days
Course Overview
This 2-Day course is suitable for any IT professionals who are interested in implementing Iterative Agile and Scrum methodologies to manage software development. This course is particularly suited to project managers, team leaders, developers and customers of software.
How can I attend my course?
Course Content
Introduction
• Agile development and test automation
• The roles of automation: unit, functional, integration, regression and acceptance testing
Automating unit tests
• Review of unit testing toolkits
• Testing toolkit comparison: xUnit, MSTest, NUnit
• Test fixtures and test methods
• Assertions and expected exceptions
• Test setup and teardown
• Test class setup and teardown
• Data-driven tests
Designing with unit tests
• Test-driven philosophy
• Unit tests from specifications
• TDD and adding new functionality
• TDD and altered functionality
• Handling post-test defects
Mocking and integration
• Why mocking is necessary in test automation
• Extracting interfaces
• Hand-crafted mocks
• Review of mocking frameworks
• Case study: Moq
Unit testing of JavaScript and User Interfaces
• Angular 2 integrated unit testing architecture
• Introduction to Karma
• Test-driven user interface design in Angular 2
Inspection and static testing
• Static mechanisms for code quality improvement
• Static code analysis tools and techniques
• Code coverage
Hand-On Exercises:
The course will contain hands-on exercises based on tools and technologies used in the Microsoft suite of development environments and languages. Exercises will include:
• Using unit testing tools to practise TDD
• Exploiting mocking frameworks to achieve test localisation and isolation
• Creating user interface tests using Karma and Angular 2
COURSE PREREQUISITES
It is assumed that all attendees on the course have prior experience of software development in a Microsoft environment, and are happy to work using the C# language on a Visual Studio based development platform.