Cucumber is a Behavior Driven Development (BDD) framework which enables functional validation in an easily understandable and readable format. BDD is an approach which is an extension of Test Driven Development and it is used to test the system as a whole instead of testing a particular piece of code.
Cucumber is a tool useful for writing acceptance tests for the web application. Cucumber presents feature files that can be used as a go-to-documents by Business Analysts, Developers, and Testers, etc.
Initially, Cucumber was implemented in Ruby language but soon after it was extended to the Java framework. Cucumber supports languages like Perl, PHP, Python, Net etc.
Scenario: Feature file can contain more than one scenario which acts as a test case derived from test requirements. It also symbolizes and acts as one or more user perspectives involved in simple readable language .
Annotations: Keywords which hold a specific meaning and would help and define the meaning of a scenario. Sample keywords involved are GIVEN, WHEN, THEN and AND.