Automation Testing

6
Feb

How to Report or Log Bugs?

Following sample bug/defect report will give you precise clue of how to log bugs in a bug tracking tool. You can use any bug tracking tool for tracking the bug for your reference.

Below is the sample scenario which caused the bug:

Let’s say you have built a new application. Now, you want to create a new user with new information in the application. To achieve this, you should login and then navigate to USERS menu>New User and under that fill all the required details such as First Name, Last Name, Address, Age, Phone etc. After entering all the details you should save that info by clicking SAVE button. After this, you will get the message “New User has been created successfully”. This is the exact process that you should follow for creating new user in your website.

Log in and then navigating to USERS menu > New User you save all the info by clicking the SAVE button and BANG! You get an error message and system suddenly crashes down. At that moment, you should save that error message by capturing it and saving it into Microsoft paint file or wherever you feel comfortable.

This is actually a Bug scenario for a tester and he now needs to log that BUG into bug tracking tool. Different tools are used for tracking the BUG and some of them are JIRA, Bugzilla, IBM Rational Clear Quest etc.

How the bug is reported effectively in bug tracking tool?

Below is the sample bug report for above stated example :
(Note : ‘bug report’ fields vary depending on Bug Tracking Tool)

SAMPLE BUG REPORT:

Bug Name: Application crashed while clicking the SAVE button for creating a new user.
Bug ID: (It will be automatically created by the BUG Tracking tool once you save this bug)
Area Path: USERS menu > New Users
Build Number: Version Number 3.0.4
Severity: HIGH (High/Medium/Low) or 1
Priority: HIGH (High/Medium/Low) or 1
Assigned to: Developer-X
Reported By: Your Name
Reported On: Date
Reason: Defect
Status: New/Open/Active (Depends on the Tool you are using)
Environment: Windows 10/SQL Server 2008

Description :
Application crashed on clicking SAVE button for creating a new user, henceforth not able to create a new user in the application.

Steps To Reproduce:
1) Logon into the application
2) Navigate to the Users Menu > New User
3) Filled all the user information fields
4) Clicked on ‘Save’ button
5) Seen an error page “OWX847 Exception: Insert values Error…”
6) See the attached logs for more information (Attach more logs related to bug.. IF any)
7) And also see the attached screenshot of the error page.

Expected result: On clicking SAVE button, it should give a success message “New User has been created successfully”.

(Attach ‘application crash’ screen shot. IF any)

Save the defect/bug in the BUG TRACKING TOOL which you are using.  There, you will get a bug id that can be used further as a Bug reference.

Default ‘New bug’ mail will go to particular developer and the default module owner (Team leader or manager) for further action.

Latest Posts

 

2
Feb

Why to Learn Automation Testing?

This article is all about opting Automation Testing. But every tester who hasn’t yet learnt automation testing or never faced any need of automation might have a question that Why to Learn Automation Testing?. So, here we go:

In today’s rapid and changing day to day life, technology is going so far and challenging human mind to take risks so as to improve the quality and efficiency of software systems development. Considering the time and cost constraints, testing is neglected most of the time in an IT industry. This eventually affects the quality of the product which is further followed by customer disappointment and dissatisfaction. This also affects the overall quality costs of the project. For this reason, it is extremely important that testing should be carried out so as to improve the quality of the project along with customer satisfaction.

Below are few reasons which affects testing quality:

  • Poor testing strategy
  • Delay in Testing
  • Less efforts for creating test cases
  • Subsequent test maintenance

We can do testing of the application manually or by automation. If you are preferring manual testing then you have to do the monotonous work of writing test cases daily and maintain it as per the changing requirements. It is really a tedious work and requires lot of efforts to sit in front of computer continuously while getting bored at the same process. If the project is big and requires more test cases then manual tester’s life is hell as he fails at maintaining proper test cases. Here comes the role of Automation testing where you can actually automate your testing process hence increasing the efficiency of the complete testing process.

With Test Automation, you can improve the testing process of any software application. Initially, you may need to pay attention to the automation process but later you can thoroughly enjoy its results. Main benefit of automation testing is you can execute your test cases during night so that till morning you are done with the testing process.

Optimization of speed, efficiency, and quality along with decrease of costs:

Automated tests re-use modules within different tests and aids in fast running of the tests with great performance. If requirements are frequently changing in the project then you need to do the testing again and again to ensure the quality of the software product. Automation testing plays key role in this and provides great results on automation of regression tests. This saves time and benefits the company while quickly out-gaining the initial costs. This is the main reason that automation testing has overcome manual testing over past few years.

Increase of Test Coverage:

Another benefit with automation testing is that it increases the test coverage in wide scale. Manually covering the test case is very laborious and time consuming. With automation tests, you can achieve sufficient test coverage of your software projects.

Some examples of it include:

  • On different platforms, software testing with different configurations.
  • Data-Driven Testing (where there is a creation of tests using the same test steps but with different inputs)

With Test automation, you can actually perform different kinds of testing effectively and efficiently.

If you want long maintenance of your software products then you should automate your tests as it is very fast and frequent. It also decreases cost while enhancing quality of your software product. Most of the companies now work in agile environment where requirements change frequently and automation testing is better option to react with these ever changing requirements. The best part is new test cases are continuously generated which can be further added to existing automation in parallel to the development of the software.

Your test cases need to be extended for longer periods of time whether in manual or automation testing environments. This is indeed essential because software project continuously progresses and maintaining test cases is extremely important. You can achieve complete coverage of your test cases with automation as it is very reliable and realistic. Value of the test case vs the effort to create them should be considered while deciding which tests to automate first. Test cases which have low effort and high value should be considered first for automating. Moreover, frequently used test cases, regression test cases; along with test cases having low to moderate effort in setting up the development and test environment of the automation project are best matched for automation.

Latest Posts

25
Jan

Automation Testing: Process, Planning, Tool Selection – 2

Automation Tools:

Following are the most standard test automation tool used in most of the companies:

QTP/UFT: HP Functional Test, earlier known as HP’s Quick Test Professional is the Automation testing tool that supports number of environments such as Java, SAP, Delphi and many more. QTP can be collaborated with Quality centre which is actually a Test Management tool used for client/server applications.

Rational Robot: It is basically an IBM tool that is used to automate functional, regression and configuration tests for e-commerce, client server as well as ERP applications. This tool can be used with Rational Test Manager that helps in Test Management Activities

Selenium: This is an open source web Automation Tool which supports all kinds of web browsers and the most demanding tool in today’s market. Many companies are using this tool for sake of its performance and price. It can be integrated with multiple Test Management tools, Continuous Integration Tools etc.

How an Automation Tool should be chosen? 

It is really a tricky task to choose an Automation tool. Following criteria will assist you in choosing the best automation tool for your test automation.

  • There should be an Environment Support.
  • It’s easy to use.
  • Database Testing Feature should be present.
  • Object identification should be there.
  • Image Testing.
  • Error Recovery Testing.
  • Object Mapping availability.
  • Scripting Language should be used.
  • It should support various kinds of test such as- functional, mobile, etc
  • Multiple testing frameworks should be supported.
  • Debugging of automation software scripts is easy.
  • Should recognize objects in any environment.
  • Widespread test reports and results.
  • Lessen training cost of selected tools.

Automation Tool selection is one of major trials to be undertaken prior opting for automation. Initially requirements should be identified, various tools and its capabilities should be explored. You should set the expectation from the tool further going for a Proof of concept.

Framework in Automation 

A framework is actually a set of automation guidelines. It increases code re-usability, portability, reduce script maintenance cost etc. These are not rules and are not mandatory. You can script without following the guidelines. But you may miss some advantages of having a Framework. Guidelines are like:

  • Maintains consistency of Testing
  • Improved test structuring
  • Usage of code is minimum
  • Less Maintenance of code
  • Re-usability is Improved
  • Non-Technical testers can collaborate in code
  • Training period of using the tool can be lessen
  • Involves Data wherever suitable

Four types of framework are generally used in software automation testing:

  1. Hybrid Automation Framework
  2. Data Driven Automation Framework
  3. Modular Automation Framework
  4. Keyword Driven Automation Framework

What are Automation Best Practices? 

Observe the following to get maximum ROI of automation

  • Scope of Automation needs to be firm in much detail prior to start of the project. This will set expectations from Automation right.
  • Select the right automation tool: A tool should not be selected grounded on its status instead, it’s acceptance to the automation requirements.
  • Select suitable framework
  • Scripting Standards– Standards have to be followed during writing the scripts for Automation. Some of them include-
    • Generate constant scripts, comments and indentation of the code
    • Adequate Exception handling include – How bug is handled on system failure or unexpected behaviour of the application.
    • User defined messages should be standardized or coded for Error Logging for testers to recognize.
  • Measure metrics– Success of automation is determined by capturing the following metrics and not by comparing the manual effort with the automation effort.
    • Time requisite for automation testing for each and every release cycle
    • Percent of defects to be found
    • Customer satisfaction Index
    • Minimum Time taken for release
    • Productivity improvement

The above guidelines are indeed helpful while making selection of your automation tool.

What are the benefits of Automated Testing?

Following are advantages of automated testing:

  • Much more faster than the manual testing say 70%
  • Broader test coverage of application features
  • Consistent in results
  • Confirm Consistency
  • Saves Cost and Time
  • Increases accuracy
  • Human Intervention is not needed during execution
  • Rises Efficiency
  • Excellent speed in executing tests
  • Test scripts can be re-used
  • Test thoroughly and Frequently
  • Through automation, More  cycle of execution can be achieved
  • Primary time to market

Conclusion:

You should have three essential things for Automation to be successful. They are Right selection of automation tool, testing process and team. For successful testing, Manual and automation methods go hand-in hand.

25
Sep

Website/AngularJS Modules for Automation Practice

Website/AngularJS Modules for Automation Practice

Today, everyone is inclined towards learning automation. Therefore, tester looks for website modules and visits multiple websites for automation practice. To encounter this problem, we have come up with different website modules under one roof. We developed multiple web pages and include all website components which you may get by visiting N number of websites.

You can practice Selenium, QTP, Ranorex etc scripts on this site. Try automating all simple and complex elements mentioned in this page. And if you are able to automate them then I can guarantee that you can automate any type of website.

Below is the table for the same:

websitecomponents_automationtesting

Demo Site for Practice :

http://www.globalsqa.com/demo-site/

Readers might feel that there are many similar websites in the market and we totally agree with that. There is one thing which makes this testing website different from other automation practice websites that is we have covered different type of components for each category. Example : if anyone clicks on AlertBox, you will find multiple type of Alert Boxes for automation practice.

Not only this, we have seen a trend of AngularJS Website these days (It’s a complete JavaScript-based open-source front-end web application framework mainly maintained by Google). Tester started learning Protractor (Protractor is an end-to-end test framework for AngularJS applications) to automate AngularJS Application. It seems difficult to find AngulasJS website because it can’t differentiated by looking at the site. We need to see website source code or need to install some plugin to identify whether a website is developed using AngularJS or not.

Also, it’s difficult to find AngularJS Protractor automation practice website and all modules. We have come up with different AngularJS components and projects so that no one needs to search for these modules or sites. So, learn protractor to automate AngularJS website. Below is the table showing all the AngularJS modules.

AngularJS Projects

AngularJS Protractor Practice Site :

http://www.globalsqa.com/angularjs-protractor-practice-site/

Before starting, please go through the links mentioned above and feel free to use these components.
If you find any bug or face any issue in the website, please send us an email at [email protected]. We will certainly take it on priority. In case, you want to us to add more things or want to share feedback, do write us.



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
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.