24
Jan

Automation Testing: Process, Planning, Tool Selection – 1

Manual testing is very convenient as compared to Automation testing as it is performed by human who sits in front of computer, while executing the test steps very carefully. Automation Testing refers to usage of automation tools that can execute your test suite. Automation software enters test data into the system under test. It is also responsible for comparing the expected and actual results so as to generate detailed test reports.

If you are planning to choose Automation testing for your product then you need to be prepared for the investments on resources and tools. The development of your product will need execution of same test suite until the final product is made. With the use of test automation tool, it becomes quite easy to record this suite while re-playing it as required by your product. There is no need of human intervention, once test suite is automated. This will eventually help in improving the ROI of Test Automation.

The main objective of Automation tool is to lessen number of test cases when compared with manual testing, hence not eliminating the manual testing all of a sudden.

Why Automated Testing, instead of Manual testing?

Following reasons makes Automation testing significant:

  • Manual Testing of all work flows, all negative scenarios, all fieldsis very much costly and time consuming
  • It is hard to test multi lingual sites manually.
  • Automation tests do not need Human intervention. Automated test can be executed unattended (overnight).
  • Automation rises test execution speed.
  • Automation aids in Test Coverage increase.
  • Manual Testing is quite boring, further leads to many errors

With Automation Testing, Which Test Cases need to Automate?

Following criterion can be used to select the Test cases that need to be automated, to increase the ROI of automation.

  • Business Acute test cases which are at High Risk.
  • Test cases which are executed repeatedly.
  • Test Cases that difficult to perform manually and tedious.
  • Test Cases which are very much time consuming.

Following criteria can’t be considered for test Automation:

  • Test Cases whom requirements change frequently
  • Test cases which are performed on ad-hoc basis
  • Newly designed test cases which are not executed manually at once.

 

What is Automation Process?

Test tool selection:

Selection of the automation tool depends on the technology which the Application under test is built on. To explain with QTP, it does not support Informatica hence cannot be used for testing the Informatica applications. It is always better idea to conduct proof of concept of Tool on AUT.

Scope of Automation:

Scope of automation is defined as the extent of your Application under Test that will be automated. Following points aid in determining scope:

  • Feature that are significant for the business.
  • Scenarios having large amount of data.
  • Common functionalities throughout applications.
  • Technical possibility.
  • Amount to which business components are reused.
  • Complexity amongst test cases.
  • Capability to use the same test cases for cross browser testing.

How are the Planning, Design and Development done?

This is the phase where you create Automation strategy & plan, that has following details-

  • Selection of Automation tools.
  • Design of Framework and its features.
  • In-Scope and Out-of-scope items of automation.
  • Prepared Automation test bed.
  • Timeline and Schedule of execution and scripting.
  • Deliverables of automation testing.

How Test Execution is done?

During this phase, Automation Scripts are executed. The scripts here require input test data; prior they are set to run. Once on complete execution, they provide detailed report.

There are multiple ways of carrying out the execution i.e. through Automation tool, build tool (Maven, Ant, Gradle etc), CI Tool (Teamcity, Jenkins etc) or through Test Management tool, which eventually invokes the automation tool.

For instance take example of QC which is generally referred as Quality Centre. It is basically a test management tool which eventually invokes QTP so as to execute automation scripts. You can execute the scripts on single machine or a group of machines. If you are short of time, then you may execute the scripts during night so that your time will be saved.

Maintenance

Automation Scripts need to be reviewed, added and maintained for each release cycle on addition of new functionalities of System under Test. Maintenance is indeed essential to increase efficiency of Automation Scripts. 

10
Aug

Introduction to Selenium Webdriver

 About Selenium WebDriver

WebDriver is a library the assists us in interacting with the web browser same as humans would do. It is capable of executing tests on Firefox, Chrome, Safari, Internet Explorer, Ghost Driver and Opera deployed on any of Windows, OSX or Linux platform.

List of programming language supported for scripting is big. Some of the popular languages are Java, C#, Ruby, .Net, Python and Pearl

Selenium

Java seems bit friendly to me, so in this post we will use that as our scripting weapon.

Selenium Webdriver Architecture

Selenium2

In simple words, initially code is written in any of the programming language using the webdriver client. It interacts with the webdriver api and finally command is sent to the browser driver wherein final action is performed.

Setting Up Java_Home

  1. Install JDK from here
  2. Set JAVA_HOME environment variable.

Selenium3

Value of JAVA_HOME will be the path to root directory of JDK.

Installing Eclipse

  1. Download eclipse from here
  2. You will get it in zip format, so unzip it to a locattion using 7Zip, Winrar etc
  3. To launch eclipse, navigate to the extracted directory and double-click on eclipse.exe (On Windows) and eclipse.app (On Mac)

Creating first WebDriver project

1. Create a new java project in eclipse ide
Selenium4
2. Give your project any name
Selenium5
3. Add new package by right click on created project → New→ Package
Selenium6
4. Give your package any name in format <<com.globalsqa.test>>
Selenium7
5.  Add new class file by right clicking on newly created package → New → Class
Selenium8
6. Give your class any name and click on Finish button
Selenium9
7.  Script is created java file. It’s all ready to code here
Selenium10
8.  Download Selenium Webdriver API from http://www.seleniumhq.org
Selenium11
9.  Click on download link and get latest version of webdriver api
Selenium12
10.  Add selenium jar by right clicking on the package → Build Path → Configure Build Path
Selenium13
11.  Click on Libraries tab → Add External Jar’s → Add jar from download location
Selenium14
12. Write your first script as below:
Selenium15
Thats it 🙂
You are all geared up to move ahead in the world of selenium
8
Aug

Apply Jobs : HR Email Ids Revealed

This post is just to help Software Engineers in India to forward their resumes to HR of Top IT Companies. As you all know that we always have to login to Job Portals like Naukri, Monster, shine etc to apply to jobs and wait for companies call. Million of users are registered on these portals. When thousands of people apply to one job. There are high chances of getting your job application ignored by HR. HR also visit to these portals and filter candidate based on some skills, exp, location etc. You might be lucky one if your resume is updated and coming on the top in their filter.

Keeping all above factors in mind, we have created a list of HR Email ids. Now, you can forward your resumes directly to HR Email Ids. We couldn’t provide a list here. So, we have created an automated process. Just complete the form by clicking here and you will receive an email in few mins with Email Ids. Help us to improve our post by leaving a comment.

In case, you don’t receive an email in 15 mins. Please send us an email at [email protected]

NOTE : GlobalSQA doesn’t give any assurance of job openings in the company associated with Email Ids being shared.

24
Jul

When to Start Automation Testing

Before the launch of a new product in the market, testing needs to be done with the intend to launch a quality product.

Initially the product should be tested for its functional aspects which should be in line with the requirements mentioned. This testing can be achieved using the Manual Technique also known as ‘Manual Testing’.

With new enhancements’ in the product, the user has to confirm the existing functionality is working correctly. To achieve this user can perform regression which can be automated using various tools & scripts as well as it can be done manually. The technique of executing the flows using some tools or script is called as ‘Automation Testing’. This is the time when product has reached its maturity level & is stable. We can then identify and automate the flows of the product. Need of an automation is required when you want to:

– avoid repetitive tasks.
– save time.
– achieve accuracy.
– reduce cost to company.
– improve coverage

Below is the brief on Manual vs Automation testing:

Manual vs. Automation Testing

Manual Testing Automation Testing
Testing which is performed manual without the help of any tool is called as Manual Testing Testing which is performed with support of tools is called Automation Testing.
It’s the starting phase of testing. Unless Manual testing is performed Automation testing cannot be started.
It’s time consuming. It’s faster since most of the time, tools are used.
Manual Testing can be used for new features to find bugs. Automation Testing can be used for regression or checking the accuracy/stability of the existing systems.
No sequencing is needed. Scripts needs to be executed sequentially mostly.
Can be performed only on a single machine or application at a time. Can be performed on multiple applications or machines at a time.
Can be achieved by mere knowledge of application. Knowledge of application as well as tool is necessary.

This topic is very briefly explained and I think that we can add many points on top of this. I would like to know about reader’s view on this, as I feel this topic can be discussed and some excellent points can come up. These points can even help testers to pitch for automation tool in their own organization if you are going to introduce automation in your company.

18
Jul

Weapon of Software Quality : Software Testing

For companies which are into Software Development, where we constantly strive for the delivery of the product. There comes a pressure for deadlines where managers & delivery heads are focusing on the delivery of the software at stipulated dates. Engineers are focusing on delivering stable software with a better efficiency. Considerably a customer uses its product in a random manner & finds a bug buried deeply, as there is no Software Testing is done.

Then, we are projecting a bad impression on to our clients. So in the transit of deadlines and of delivering the product at times of deadline. Are we compromising on quality?

Here is the time we use our most trusted weapon: ‘Software Testing’ which will help us in achieving a quality product within a strict deadlines while making our customers happy & delighted. By testing our products we can assure that we are providing a bug free quality product within the timelines which can be achieved by using the appropriate testing methodologies.

SoftwareTesting

To support that, we have come up with following Software Testing Services which will help Software Development Companies to improve quality of their software and deliver the bug free product in the market:

As per market trend, need of Software testing is gradually increasing. Every company would like to launch bug free product in the market. Lets take a look at some of the facts of Mobile Applications:

FACTS

  • Having bug in Mobile Apps is one reason for uninstalling an app
  • Bug in an app is one reason of bad reviews on MarketPlaces
  • 60% of users will stop using your app if it doesn’t load within 3 seconds.
  • 32% of users will report a negative review if they face any crash.

Therefore, many startups and SMEs have started outsourcing testing of their products to dedicated Software Testing Companies.

12
Jun

Endorsement Framework

Endorsement Framework


 

Endorsement Framework:

  • Validation by a second user of an action taken on a “static data entity” (e.g. Bank) by a first user.
  • Provides functionality to generate endorsement events when a User performs an action on an endorsable entity.
  • Manages endorsement events while they await approval by a User.
  • Examples of static data entities for which endorsement can be setup:
    • Bank
    • Bank User Role
    • Business Calendar
    • Participant
    • Exchange condition
    • Products
  • Endorsement activation depends on a configuration file setup:
    • Either all entities or no entities require endorsement
    • Setup is done on the level of Bank Group
  • Actions that trigger the creation of an endorsement event are:
    • Creation of an entity
    • Update to an entity
    • Activation of an entity
    • Suspension of an entity
    • Deletion of an entity
  • For each endorsement audit records, capturing the modifications made by the User, are created.
  • The default behaviour for endorsement is to hide the modified details from the user until endorsement is done successfully.
  • Each instance of an endorse-able entity has an endorsement status:.
    • Pending endorsement for Modification
    • Pending endorsement for Deletion
    • Pending endorsement for Creation
    • Pending endorsement for Suspension
    • Pending endorsement for Activation
    • No Endorsement outstanding
  • Only a single active endorsement event can be pending against an entity.


 



 





12
Jun

Warehouse

Warehouse


 

Warehouse:

  • The processing of some transactions must be split in two steps.
  • This typically applies to Transactions that are received before the day they are executed.
    • Some validations are performed the day the Transaction is received, to make sure it is valid.
    • Extra validations are performed the day the Transaction is executed, for instance, to make sure the account still exists, or funds are available.
  • Based on the Exchange Timings computed by the router, and on the type of Transaction, the system determines if the Transaction must be held or not.