Introduction to Selenium Automation Testing

Introduction to Selenium Automation Testing

Automation testing is mostly helpful when a small change is made to the source code of the software, the tester has to manually test each and every functionality of the application, which takes lot of time for the testers to test the complete functionality from scratch. If instead the tester automates the complete software using any automation tool, he can just run the automation tests using the automation tool every time when a change is made to the source code of the project or when a new build is given for testing frequently. Ultimately it saves the testing time of testers and relives the testers from the stress.

Out of all the open source and commercial tools available in the market, the following are the two most popular tools:
  1. QTP  ( Commercial Tool – Supports Desktop and Web Applications )
  2. Selenium ( Open Source Tool – Supports only Web Applications )
Selenium is one of the most popular open-source automated testing Tools available today.

Selenium automates web applications for testing purposes, but is certainly not limited to just that.

Introducing Selenium: Selenium is not a single tool, instead it is a set of different tools each with a different approach to support test automation. Learning all the tools will give you different options for approaching different test automation problems.These tools when used together give many options for locating the UI elements and comparing expected test results against actual application behavior. The following  are the four tools that comprise the Selenium’s Tools Suite:

  • Selenium IDE
  • Selenium 1 (or Selenium RC)
  • Selenium 2 (or Selenium WebDriver)
  • Selenium-Grid

Few Good things about the Selenium Automation Tools:

1. Selenium is an open source tool i.e. Unlike the proprietary tools its available free of cost.
2. This is the best tool available in the market for web application testing
3. One of the selenium’s key features is the support for executing one’s tests on multiple browser platforms like Internet Explorer, Firefox, Google Chrome, Opera, Safari etc.
4. Selenium allows you to control a browser from a language of your choice. You can choose any one of these Six languages to write automation scripts -> Java, C#, Ruby, Python, Perl and Php
5. Selenium is available for Operating Systems such as Windows, Linux and Mac
6. Selenium can be used for functional, compatibility, regression testings and User Acceptance Testing (Mainly used for Regression Testing).

  • Functional Testing refers to the test that verifies a specific action of the software (Example – Logging into the Gmail is an action)
  • Compatibility Testing is performed to verify whether a software works with all other supported software and hardware.
  • Regression Testing is the repetition of the earlier successful tests in order to make sure that changes to the software has not introduced any new side effects
  • User Acceptance Testing is testing an application prior to customer delivery for functionality and usability  using real world scenarios which resemble how the application will be used by the end users.

Drawbacks of using Selenium Automation Tools:

1. Selenium is a browser based testing tool. It cant be used for automating the desktop applications. (i.e. It can be used only for automating the web based applications)

Selenium has the support of some of the largest browser vendors who have taken (or are taking) steps to make Selenium a native part of their browser. It is also the core technology in countless other browser automation tools, APIs and frameworks.

Brain Machine Interface

 Brain Machine Interface

       Brain Machine Interface (BMI) is a domain concerning recording, interfacing and interpretation of the electroencephalogram. Electroencephalogram (EEG) is a record of the electric signal generated by the cooperative action of brain cells, or more precisely, the time course of extracellular field potentials generated by their synchronous action. EEG can be measured by means of electrodes placed on the scalp or directly on the cortex. In the latter case, it is sometimes called electrocardiogram (ECOG). In a physiological sense, measured EEG power reflects the number of neurons that discharge synchronously. Because brain volume and the thickness of the cortical layer is positively correlated with intelligence, it is tempting to assume that EEG power too, is a measure that reflects the capacity or performance of cortical information processing. There are five types of waves in human brain namely alpha, beta, delta, theta and gamma rays. EEG captures these waves generated in human brain while thinking in order to give stimulus to machine.

       The electroencephalogram (EEG) is a recording from the surface of the scalp generated by many biopotentials in the cerebrum of the brain. More specifically, it is a recording of the action potentials and the postsynaptic potentials of cortical cells. Since we are recording from the surface of the scalp,we are measuring potentials from many cells at the same time. The potentials of the neurons in the brain can vary as a function of the emotional, mental, or physiological state of the person. At first glance, EEG data may look like a noisy signal which can be separated into different components of brain waves using advanced signal processing techniques.Alpha waves are generally found in the EEG when the individual is awake in a quiet, resting state with their eyes closed. During sleep, however, the alpha waves disappear. Beta waves appear when the individual performs some specific type of mental activity or are attentive to an external stimulus.

Theta waves occur mainly in the parietal and temporal regions. These occur sometimes during emotional stress and often in degenerative brain states. Delta waves are the very low frequency components of an EEG. Deep sleep and certain brain diseases give rise to delta waves.

x          y

          

              Fig 1.1: General Block diagram of BMI                                                  Fig 1.2: EEG Wave

       You can create any type of mind controlled robot or machine with the use of “EEG Sensor” and “Arduino”. Information content of EEG signals is essential for detection of many problems of the brain and in connection with analysis of magnetic resonance images it forms one of the most complex diagnostic tools.The Arduino is a microcontroller board based on the ATmega328 (datasheets). It has 14 digital input/output pins (of which 6 can be used as PWM outputs),6 analog inputs 16 MHz ceramic resonator, a USB connection, a power jack ,an ICSP header, and a reset button. The aurdino Kit is readily available in the market can also be used in hardware.

EEG sensor used in machine if used for longer duration of time can cause health issues like brain tumor. But, this can be resolved by focusing on beta waves instead of alpha waves while developing mind controlled robot.

       The field of BMI research is growing and developing at great speed. This research has shown that it is possible to develop a reliable, cost-effective and efficient in-home BMI application. The title says that you can control anything with this gadget. Well, controlling a gadget can be break down into these steps: determine what brain data you will need, examine the data by putting the headset on and thinking it, get the data range, write a code ,make a circuit that turns the circuit ON/OFF with transistors and connect the gadget. But, these steps can be performed by one who has at least  5 years of electronic experience as brain data management to control any gadget is not easy as you think.