Getting Started
NorthCode is the only BDD solution in the market that allows users to test their IVR solutions
It is easy to start working on NorthCode. We use Gherkin Syntax which is a business readable language. You just need to write your Given, When, Then statements
Why BDD
Development (BDD) is the software development process that NorhtCode uses.
In software engineering, behavior-driven development (BDD) is an agile software development process that encourages collaboration among developers, quality assurance experts, and customer representatives in a software project. It encourages teams to use conversation and concrete examples to formalize a shared understanding of how the application should behave.BDD emerged from test-driven development (TDD). Behavior-driven development combines the general techniques and principles of TDD with ideas from domain-driven design and object-oriented analysis and design to provide software development and management teams with shared tools and a shared process to collaborate on software development.
Although BDD is principally an idea about how software development should be managed by both business interests and technical insight, the practice of BDD does assume the use of specialized software tools to support the development process. Although these tools are often developed specifically for use in BDD projects, they can be seen as specialized forms of the tooling that supports test-driven development. The tools serve to add automation to the ubiquitous language that is a central theme of BDD
BDD and agile
We assume that your team are using some kind of agile methodology already, planning work in small increments of value like User Stories. BDD does not replace your existing agile process, it enhances it.
Think of BDD as a set of plugins for your existing process that will make your team more able to deliver on the promises of agile: timely, reliable releases of working software that meets your organisation’s evolving needs, requiring some maintenance effort and discipline.
BDD concepts
Scenario
Is the specification of a behavior using formal steps and examples. Go through your user stories and write BDD scenarios using the keywords GIVEN, WHEN, and THEN (AND, BUT can be used as well)Feature
Is a desired product functionality often involving multiple behaviors. Features should be determined by customer needs. They should solve problems the customers haveCreating Projects
Create Project & Run Scenarios
Once you register to NorthCode you will see the overview page that covers charts for test cases, documentation, internal chatbox, usage report and more. Firstly, you need to create a project. In NorthCode your test cases are connected to IVR numbers in Project. Before you run your scenarios, the first step is to create a project and enter the details in order to run your test cases. In the left bar on the dashboard click manage projects. Once you click manage projects you are able to create a new project by clicking the button located in the upper right corner of the screen. Additionally, you can access projects that you created and you can update or delete them on this page.

Create New Project
Once you click New Project you will see a screen to select your title. Choose one of I'm developer, project owner and QA options. Once you select your title you can enter the details of the project. Give a name to your project and enter the phone number that will connect to the IVR provider. You can enter tags in this screen in order to create meaningful keywords for your project. Select start date and end date for your project and click next. After you click next, you can put some description for your project. Now, it's done. It's time to add features and write your scenarios for your project. Click complete and go to the projects page!

If you want to see details of your project and start running cases, click details on your project card. Click go to features to create new features and observe existing ones that cover your scenarios. Additionally, you are able to monitor history based logs according to activities of your or members of the project. You can see the status of your project, deadline and details of the project. Also, you can add members to your project by clicking the members section to work interactively on your project.

Why NorthCode
We are all aware of invaluable benefits of writing BDD test cases. There are plenty of brilliant BDD test tools. Unfortunately they can only work on web, desktop or mobile applications. NothCode is the only solution that allows you to write your BDD test cases for your IVR solutions.
Creating Features
After creating a new project you can create features under the project you select and run your scenarios here. You can see existing features and Add new feature button in the left panel. Click Add new feature and start writing your BDD cases. In order for NorthCode to understand the scenarios, they must follow some basic syntax rules, called Gherkin. It is a set of grammar rules that makes plain text structured enough for NorthCode to understand. The scenario below is written in Gherkin. In the example below, Process for Credit Card Transactions was created. After giving the name of the feature and writing title for Scenario, you are able to write the steps according to your business test requirements. Here, with the 'Given' status “I'm logged on the telephone banking” and the condition of 'When' keywork “I press two for credit card transactions”, I am expected to hear a “welcome to CC menu” message by declaring the ‘Then’ keyword. You can add new scenarios under your feature and build a structure for them. Don’t forget to click the save button. Once you save and run all scenarios, the technology integrated with Amazon Connect we have allows you to test your IVR cases seamlessly. You can run all your test scenarios simultaneously instead of wasting hours one by one.

Gherkin Editor
We use Gherkin syntax. it is easy to use our Gherkin editor to develop your BDD test cases

SIP Trunking
CI/CD Integration
NorthCode provides API interface for you to integrate your CI/CD pipelines with NorthCode BDD test engine. In your pipelines you can define as new stage, e.g. “Run BDDs”, and call NorthCode APIs to execute your BDD test cases
You can protect your code by integrating NorthCode into your CI/CD process. If your tests on NorthCode fails you can notify the developers any protect your master by blocking the merge request
Load testing using API Interface
At NorthCode we embrace API first approach. All NorhtCode functionalities are available via NorthCode REST API interface
You can use your favorite tool to run your load tests. Here we will show you how you can use Apache JMeter
The Apache JMeter application is open source software designed to load test functional behavior and measure performance. Just follow the steps below to start using JMeter with NorthCode
- Download Apache JMeter. JMeter requires Java 8+. You need to install Java if you don’t have it on your machine
- We developed a sample JMeter script for you. Please donwload our Balance Inqueries test plan
-
Open this test plan with JMeter and update the 'User Defined Variables'
below (Please do not update 'executionIdPATH' and 'executionStepsPATH'
variables)
-
You can get your 'featureId' in your browser's address bar when you open
your feature and your scenario Id is the order of your scenario in your
feature. In this example scenarioId is '1' for 'Welcome message' scenario
and scenarioId is '2' for 'Hear Balance' scenario
- That is all, you are ready to go. Just define the number of threads you want to use in the thread group and click run your JMeter test suite. You will see your execution resutls in the 'Result Tree' on JMeter