Automaton testing using Cucumber – Behavior driven development (BDD)

Automation testing using Cucumber – Behavior driven development (BDD)

Application behavior is the main focus on BDD. The requirements are written in English which gives more readability and understandability of the requirement.

So any roles in the company like Tester, developer, end user, and techno functional person can read it and understand it. Also this will reduce the complication in terms of missing requirement or misrepresenting or misunderstanding requirements between different roles like Developer , tester ,  end user etc.

Gherkin is a business readable language, refer below for an example. Below feature file is integrated with Selenium and are having user stories as below.

Please refer below – “feature, Scenario, Given, When, And, Then “are the Keywords below to understand on how to write a feature file…

What is Feature file in Cucumber test and how to create a feature file.

Feature file is a part of Cucumber framework and it contains descriptions in English language.

Follow below path to create a feature file

create feature file

One sample transaction as below:

sample feature fileOne sample transaction example as below:

sample feature file transaction
sample feature file transaction

sample feature file

Software testing trends

Software testing trends. Importance of Python programming is increased specially on test automation steam. Also Open source tools like Selenium, JMeter demand is increased in IT companies.

 

Another importance area which testers can learn expertise for future opening is Mobile app testing as the popularity is tremendously increasing.

 

Agile testing and CI tools usage is increased already – most of the complex IT projects are handled using SCRUM methodologies. Script-less automation is another specialization already in place with automation. This uses customized keywords so that both functional and technical team could use and easily relate to functional requirements.

 

In conclusion – Open source tools and Mobile apps are showing good opportunities unless new technologies replace this.

Performance testing best practices and activities.

Performance testing best practices and activities.

  1. As first step, Performance Engineer needs to learn the requirements, performance expectations & system architecture.

Note: To learn the performance requirements & expectations, SME (Subject matter expert ) or production user can help. This information will help to define performance goals and SLAs

  1. Then develop best matching performance test scenarios, approach, define goals (SLAs) & sign off test plan.

Note 1: To identify the right performance test scenarios, SME can give some feedback on about the current performance issues in production / live application that he/she is facing.

Note 2:  You can refer another blog of mine on different types of performance scenarios – click link load testing vs performance testing vs stress testing

  1. Now Performance Engineer can developer V– USER scripts and execute the scripts in Controller to generate performance analysis results

Note 1: Apart from delivering performance analysis results, Performance Engineer  can coordinate with other team to monitor real time performance on Database server, Application server and also make sure load balancing is working fine while stress testing.

Some of the e.g. when performance testing is needed

  1. for Database upgrade,
  2. Application upgrade,
  3. Or if user complains that application performance is bad – like page response is not meeting his/her expectations.

Jenkins vs GitHub

Jenkins vs GitHub

Jenkins allow continuous integration which helps developers or Automation testers to integrate code into a shared repository. It acts an open source automation server for test automation projects. Jenkins offers lots of plugins to integrate various tools.

GitHub is a web-based hosting service supporting distributed version control of codes. for e.g. if someone already registered a domain for a website in GoDaddy or similar domain services site but looking for a free hosting service, Github can be used to store code. Go daddy and Github should be linked to make this happen.

Performance testing vs Load testing vs Stress testing vs Endurance testing

Performance testing vs Load testing vs  Stress testing vs Endurance testing

1. Performance testing – The main purpose of Performance testing is to arrive the benchmark & baseline of the system behavior (e.g response time) under normal/moderate load. This test will help performance engineer  to analyse how does the application behave under normal conditions.

 

2. Load testing  – here load will be constantly and steadily increased over a given period of time. i.e the constant load applied for a constant period of time. For example a load of 100 users are applied for 15 min.

3. Stress test – it is meant to push the system beyond the normal load limits or extreme conditions. This test is to make sure the servers don’t crash or what point it crashes. Stress test will  verify the breaking point of the system or how much load, system can withstand.

For example a load of 100 users are applied for 15 min and then 150 users load is applied for next 15 min. then 200 users load is applied for next 15 min. Verify at what point system stopped to respond.

4. Endurance testing – for easy understanding, I would say it is a “Load testing on extended period” to make sure web servers are performing longer period of time. For example a load of 100 users are applied for 48 hours

Note: Once the performance testing is completed successfully, tester can assume the performance requirements are met and he can start load testing. After that Stress testing if required.

Load testing tools in the market are

1) HPE LoadRunner is from Hewlett Packard Enterprise.

2) JMeter – Apache JMeter. It is a Java based performance testing tool works on web communication layer (HTTP)

What is Rendezvous point with reference to performance testing

What is Rendezvous point with reference to performance testing

Rendezvous point is Synchronization or Wait point. Rendezvous points makes Vusers to wait during test execution and multiple Vusers will simultaneously perform a task.

Why Rendezvous point is used ?

Rendezvous is mainly used to emulate heavy load on a particular scenario/ transaction to test the application behavior.

Jenkins

Jenkins is a continuous integration (CI) tool. It is the leading open source automation server. Jenkins provides hundreds of plugins to support building, deploying, and automating any project.