Allison has a Master’s degree in Computer Science and is a full time Groovy/Grails developer. Nine months of her career was spent as a QA Automation Lead, carefully considering all that Geb and Spock have to offer the world of automated Functional Testing.
Education is one of Allison’s passions. She would love to know the most naive questions you are Googling or Stackoverflowing so she can introspect on her own knowledge and skill set to come up with the best ways to answer those questions.
Allison is co-founder of the Gr8Ladies and Gr8Allies initiative, a group working to bring more women and underrepresented groups into the Groovy programming community. Many adult learners who are new to programming have attended, with great enthusiasm, the workshops she teaches for this organization. In addition, she currently is polishing off an indie introductory Groovy/Grails programming book and hopes to continue this sort of work in the future.
Groovy is a language perfectly suited for DSL’s and Metaprogramming. Artificial Intelligence is a domain well-suited for both. This hybrid talk will show how to use Groovy DSL’s and Metaprogramming to create AI programs.
Groovy DSL’s can be implemented as simply as fluent interfaces with method chaining or complexly with abstract syntax tree transformations. AST transformations are just one way Groovy lets you write code that writes other code.
AI is a vast and varied field but Multi-Agent Systems are particularly interesting. Agents are distributed autonomous actors that can evolve and interact to create quite complex systems.
Geb is a Groovy implementation of Selenium. This talk is for devs who want to learn more about functional testing and QA who want an introduction to automated testing.
I will show a few examples of how to bring a test plan through pseudo code and into concrete code. There will be live demos of Geb tests driven by Spock. Finally, we will look at code; but we will also look behind the code to understand what it means and why Geb is a great way to do functional automated testing.