BDD is challenging in the iOS world as there are no suitable tools available in the market to parse Gherkin DSL with Swift. The conventional wisdom was QA used to write automation tests using tools like Appium, Calabash to whizz bang terms like BDD and Ruby and developers used to develop apps using Swift or Objective-C. This produce huge technology gap between developers and testers which is mostly damaging and causing harm to iOS development than good. There are ways you can achieve BDD using features of Swift programming language to bridge the gap between testers, developers and business people.
Swift is truly Protocol Oriented language so you shouldn't miss out using Protocols and Extension while applying BDD to the iOS app. Swift is also type safe language so applying BDD is step by step process which differ slightly from Cucumber style BDD but you can write protocols, extensions and enumerations to apply BDD principals to drive outside in development for an iOS apps. In this worksop, you will learn how to write a simple iOS app in BDD style using Swift and XCUITest framework from Apple.
macOS with Xcode installed.
The workshop will cover following topics
1] Setting up BDD Target for iOS app with Xcode 2] Converting Given/When/Then in to Swift Protocols 3] Writing Step Definitions using Swift Extensions and XCUITest API 4 Driving Development from Scenarios and Making our BDD Scenario Pass 5] Running BDD Scenarios from Command Line for CI
By end of this workshop, you will discover how easy and quick to setup BDD target inside Xcode to get started. You can drive development from UI using Apple's XCUITest Framework. You can still use Given/When/Then to write scenarios with product owner, BA, developer, testers and then it can be implemented in Apple's own XCUI test tool using Swift. No Appium, No Ruby, No Java, It's pure Swift This will help to bridge the gap between QA & developers and business people to write BDD scenarios collaboratively.
YOU MAY ALSO LIKE:
- Fast Track to iOS Architecture (in London on 30th May - 1st June 2018)
- Gojko Adzic's Specification by Example: From User Stories to Acceptance Tests (in London on 27th - 28th June 2018)
- iOSCon 2019 - The conference for iOS and Swift Developers (in London on 21st - 22nd March 2019)
Workshop: Getting Started with BDD in Swift for iOS Apps
Shashikant is a software professional, he loves automating software delivery using DevOps and test automation tools. Shashikant uses Apple Developer tools like Swift, Xcode, XCTest, Xcode Server. In addition to Open-Source Contributor and is the author of BDDfire (Ruby) and XCFit (Swift) framework.