Dusanka works as a test developer at Levi9 IT Services. Last year she finished her PhD Thesis. During ten years of her career she was a speaker at international conferences and author of many scientific papers. When she first met the testing, she realized that she completely finds herself in software testing. Working as a test developer isn’t just a job for her. It is more like a passion that grows from day to day and making her so curious to learn more and more. Every conference is a new challenge to present her knowledge in a best way.
Presentation: FUN(ctional) REST API testing with Clojure. [ENG]
co-speaker Marijan Mihaljev
Functional programming is a programming paradigm – a style of building the structure and elements of computer programs that treats computation as the evaluation of mathematical functions and avoids mutating objects state. Clojure as a functional programming language is a dynamic programming language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. It is highly declarative, meaning you build programs from expressions that describe „what” a program should accomplish rather than „how” it accomplishes it.
Clojure is “homoiconic” language, which is a modern term describing the fact that programs are represented by data structures. This is very important difference between Clojure and most other programming languages. Clojure is defined in terms of evaluation of data structures and not in terms of the syntax of character streams/files. Most Clojure programs begin as text files and it is the task of the reader to parse the text and to produce the data structure the compiler will see. Clojure is a compiled language, yet remains completely dynamic – every feature supported by Clojure is supported at run-time. Another one of the cool things in Clojure is REPL (Read–Eval–Print Loop) – an interactive programming shell that takes single expressions, evaluates them and returns the results.
This presentation has a goal to show the use of Clojure to create automated testing framework for REST API testing. As it’s Lisp based, Clojure is language with almost no syntax. In this presentation the authors will demonstrate basic features of Clojure and overall structure with a view on testing framework for REST API testing. Also, authors will demonstrate usage of some common Clojure tools and libraries. As one of the popular project management tools for Clojure, Leiningen is an automation tool that helps automate the build and management of projects. Cursive – the IDE for Clojure code, is also used. Cursive is written entirely in Clojure, allowing us to easily integrate all the fun tooling in the Clojure system. Cheshire is for working with JSON – encoding and decoding library for Clojure. Beside practical examples in this presentation that are showing REST API testing, authors have provided some basics of REST API testing also. In the end, we want to show you simplicity in REST API testing.