What Is Cucumber?
Cucumber is an open-source software testing tool written in Ruby; it supports Behaviour Driven Development (BDD). It offers a way to write tests that anybody can understand, regardless of their technical expertise. In BDD, users first write scenarios or acceptance tests that describe the behaviour of the system from the customer’s viewpoint, these are reviewed and signed off before developers write their codes. It allows automation of functional validation in easily readable and understandable format (like in simple English) which is useful for developers, testers, clients/customers etc.
Is Cucumber a Tool or a Framework?
It is a testing tool based on a Behaviour Driven Development (BDD) framework, which is used to write acceptance tests for web applications. It can also be described as a software testing process that deals with an application's behaviour/tests applications in a behaviour-driven development way. Whilst there are many tools used for testing, cucumber is one of the most popular. It seamlessly integrates with Selenium, Ruby on Rails, and other web-based testing tools. It allows developers to subdivide text into prerequisites that are then transformed into actions which should then deliver the expected results.
What Is ‘Behaviour Driven Development’ (BDD)?
It is an extension of Test Driven Development (TDD) and is used to test the system rather than testing the particular piece of code, enabling development teams to deliver better software more quickly. It focuses more on defining application behaviour rather than the tests.
Why Is It Easy to Write and to Understand?
It was designed to use of non-technical language to enhance communication across cross-functional product teams, from analysts to managers to stakeholders.
It uses a simple, natural non-technical language which makes for better communications across ‘cross functional’ product teams, together with everyone else involved in the project including managers, clients, stakeholders etc. It allows most people to write test cases that that are easily understood by anyone regardless of their technical knowledge. Customers and business partners can also write test cases, and this involvement can increase customer satisfaction and increase efficiency. It also reduces dependency on developers.
Why Was It Developed?
Cucumber testing was developed to help teams communicate better about the behaviour of an application; to make it easier for developers and testers to work together on BDD projects. By writing tests in a shared language that everyone on the team can understand, this helps reduce misunderstanding between teams. The fact that everyone can easily read and understand the test code helps collaboration, and the test codes are easier to maintain.
Cucumber tests are also easier to change than other code-based tests, and because the language is simpler, they are less likely to break when the code changes. This makes the test more flexible and easier to maintain.
What is Javascript TestRunner
How Javascript TestRunner originated; a Journey from HTML Webpages to Javascript TestRunner (which then became the Original Selenium):- In 1989 Sir Tim Berners-Lee proposed an Internet HyperText system and it was known as Hyper Text MarkUp Language (HTML) and was used for Web pages. Prior to this Text for newspapers and magazines was ‘marked up’ by editors before being sent to the typesetters, so they knew the font size, whether it would be in bold or italics and so on.
When wordprocessors appeared, they could send text straight to the printer and cut out the typesetter, the program ‘sent Text Markup Language (TML)’ to the printer; this it was similar to HTML e.g. to turn bold on and to turn it off.
Before HTML, text on computer screens looked very ordinary, however the introduction of HTML brought the text to life and could include images; the format and appearance of a webpage now looked very similar to a page in a magazine or newspaper.
In 1995 JavaScript was invented by Brendan Eich. His first version (where the languages syntax had to resemble that of Java) was completed in 10 days and called Mocha, but renamed LiveScript and then renamed JavaScript.
Scripts allowed developers to make webpages responsive and perform numerous functions/tasks etc., however, whereas before the use of scripts, webpages just needed proof-reading for ‘typos’, now they needed testing, which was done manually at first. Changes to code could cause problems - it was said to have a bug - a term used in electronics, which sometimes referred to a real bug stopping an electrical circuit from working). Testing became more intensive as webpages /web applications (WebApps) incorporated more code.
In early 1998, Brendan Eich co-founded the Mozilla project (which was free and open source), creating the mozzila.org website. The script was JavaScript, which he also created.
In 2004 a developer called Jason Huggins was working on a web application that required repetitive (manual) testing for frontend behaviour on different browsers; and he wrote a script (developed a tool) to automatically ‘Run the Test’ (amongst other things it ‘injected Javascript underneath the webpage’); he called it the JavaScript Test Runner. A Test Runner is a tool that is used to run or execute tests and export results.
To get around the requirement for JS-Injections, Jason Huggins worked with his colleague Paul Hammant to develop a server component (in Java) and TestRunner was ported to Ruby. This is how JavaScript Test Runner (open source) became the ‘Original Selenium’.
What Is Karma?
Karma is a test runner, and not a testing framework. It is not an alternative (or in competition with) frameworks such as Mocha or Jasmine, instead it works with them. It was created by the Angular team, and there are available plugins for all the popular test frameworks. In addition, a tester can also choose to write an adapter for one of their favorite frameworks. In essence it spins up a webserver from which to run tests.
What Is Katalon?
Katalon was developed by Katalon Inc. and is a low-code Automated Testing Software Solution that is built on the open-source frameworks Selenium and Appium; it has a specialised IDE interface for Web, API, Desktop and Mobile Applications. It works on Linux, Windows (7,8,10) and MacOS (10, 11) and Chrome, Firefox, Microsoft Edge, Safari, Internet Explorer and Headless browsers. It has dual scripting interfaces for testers with different programming skills and can be used by people with no programming skills, who use a simple interface that does not require the writing of code. More proficient testers can use scripting with code suggestion, syntax highlighting and debugging.