Thursday 30 June 2016

Open Source - Performance Tool

Thank you for your responses and queries. Now we will move ahead with our search on open source tools which are much stable in the market. Next one in the list is for performance testing - JMeter.

JMeter had a tough time from LoadRunner however still JMeter survived and will continue to do so due to its open source and simple to use architecture.

JMeter is a java platform application, it is easy to use performance testing tool which can be easily integrated with other tools and can be very useful for Continuous Integration. Also this tool can be used on any other platform which makes it cross platform tool of choice.

JMeter itself can become master and control number of hosts which makes it scalable. JMeter out of the box protocols are HTTP, SMTP, POP3, LDAP, JDBC, FTP, JMS, SOAP, and TCP which are enough to support all simple and medium complex web applications.

JMeter is a desktop application with modular structure, which means it can be easily extended using plugins. All the implemented protocols are plugins that are developed separately.

JMeter also provides advanced setup, teardown parameterization and correlation capabilities. This can be achieved by pre and post processor around sampler.

JMeter is one of the favourite open source tool for performance testing. Table below illustrate the same-

   Feature
JMeter
OS
Windows, Linux… etc. (Any)
GUI
Full GUI support
Test Recording
HTTP
Test Language
XML
Language
Java, Beanshell, Javascript, Jexl and many others
Reports
CSV, XML, Embedded Tables, Graphs, Plugins
Protocols
TCP, HTTP, FTP, SOAP, JDBC, LDAP, JMS, SMTP, POP3, IMAP
Host Monitoring
Possible with Plugin PerfMon
Other Supports
JMeter tests can be executed from Command Line, ANT, Maven and from Java class using  StandardJMeterEngine

Thank you for reading, please do not forget to write your comments; we will continue our journey to explore more open source tools.


Keep reading!



Thursday 23 June 2016

Trends and Tools in Testing


Thank you all for overwhelming response to my earlier post. While working with different clients with different requirements and expectations from testing I have understood that all the products and services are different from each other and hence have a wide range of testing tools and technologies to cater each request.
Some of you requested me to bring out my opinion on future tools, technologies and trends in testing hence I am writing this post. With the experience I can point out the tools, technologies and trends that will have bigger impact in nearest future; I may not be 100% correct though.

Trends

Functional

We are moving towards agile due to frequent changes in market and so the demand to alter the requirements. The agile projects are perfect to the current and future dynamic world so does testing change accordingly.
We don’t invest a week’s time to research and requirement understanding to test software application features due to time restrictions in agile project management. Hence functional testing is different from waterfall or any other model.

Testers are not separate unit but part of the team and will be equally responsible for complete delivery. Hence the future will belong to those who are quick on understanding requirements and amending tests quickly to fit in the given window. The trend shows that the testing should be more quick, lethal and effective within short span.  

Automation

For many years we keep on arguing that automation is to automate the regression suite. However now this is going to change forever. We will witness that the automation starts at the beginning of the project.

Automation framework will be created as a common platform and as we develop the application features they will be added to the automation suite. As the framework will become more and more generic it will be available to download and customize so that framework designing task will become restricted to less common applications. In future Automation-As-A-Service is possible with open source automation tools too, where user can use the framework from cloud with some customizations.

Cloud and Mobile

Cloud will be more explored, utilized and testing on cloud applications will become more frequent. The preparation for future is incomplete without understanding the landscape of cloud applications and testing footprints in this area.
Mobile computing will move to the next level of application testing which will gain bigger ground as compare to the current market space. One of the research shows that 90% of time on mobile is spent on Applications and 10% on browsers. And mobile usage grows 58% year over year. This shows that the future will be good for mobile application testers.

Tools

As we are moving towards Agile for most of the current and future projects we will see few of the tools will make a bigger impact in upcoming years. I do not have any affiliation or affection towards any tools in particular; however I see the tools are becoming more user-friendly and hence popular.

Atlassian JIRA

This is going to stay and grow. One of the oldest and still manage to keep the pace with changing requirements JIRA is more likely to stay ahead in the agile management tools.
Cameron Council in his technology advice mentioned that this averaged price tool has many features like Automatic Notifications etc.

JIRA is a cross platform issue and bug tracking software with advanced project management capabilities and features. JIRA is suitable for any company size and is extremely valuable to all collaborating teams, stakeholders and project managers. JIRA helps your team share information and engage others seamlessly, display issues on agile boards with custom agile workflows, enforce kanban work in progress limits and check their efficiency planning and assign members with certain tasks, work together with colleagues using joint-editing tools and monitor the team’s progress and updates of each task.

As per Gartner more than 75 of the Fortune 100 choose Atlassian in 2015.

Selenium

This open source automation tool is going to stay long with all the community support and growing benefits. Selenium has come a long way from just browser automation.

The Webdriver are written to support all the browsers including but not limited to Microsoft Edge gives more strong support for Selenium to stay ahead.

Appium, the market leader in open source mobile test automation tool is based on Webdriver's JSON Wire Protocol

Integration with TestComplete gives more attention to Selenium as more preferred automation tool in future.

The best part of Selenium I like is; over other tools is the language and browser support. The best part of Selenium clients like is; open source and low on hardware resources.

SoapUI

SoapUI is an open source tool grabbing more attention since Load testing in the cloud has been introduced. Initially SoapUI had limited usage of web service testing. Now it has come up with amazing feature. SoapUI has a powerful groovy scripting feature which makes it perfect choice for automation developers.

This is another tool to keep in kitty while preparing for future.  

Jenkins

Continuous Integration is the next must to know thing for all of us. Jenkins is the leading CI tool. This is simple java tool continuously building and testing software projects. Jenkins supports many software configuration management tools like open source Subversion. Jenkins is available as a service from many vendors.

This is one of the essential tools for CI to learn automated test execution post build and reporting build failures if test fails.

It's difficult to conclude this post as many stones are untouched like Performance, Security, BI testing, BDD and TDD. These are a few more areas which will grow and will grab the due attention in the testing market. I will try to enter in these territories in future posts.

Thank you for reading this post. Please share your comments and questions


Happy reading!

Thursday 16 June 2016

Are you new to Software Testing?

I am writing this post for all of them who are new to software testing and want to know more about the inside of software testing.

The software testing has changed manifold since it has been recognized by the industry and the people as an important segment in the software development business. Initially it was limited to writing test scenarios and test cases with the help of requirement gathered and the business knowledge, now it has moved to more over automated testing and creating framework which will indeed reduce the cost of testing itself.

The testers, became quality assurance team and then they became quality engineers. The specialization is moved to next level and tester name is completely removed in Agile and they just became agile team member.

Automation was earlier costlier option and only used by the organization with heavy regression suites. The automation engineers and tester were creating automation test cases to replicate regression pack. Now, we are moving to continuous integration.

The new term is very important for each one associated with testing team. Continuous Integration.

As soon as developer writes code and commit, then the build will be triggered. Once the build is created automation scripts will be triggered and will check if the there is any issues to the application. If test fails the build will be reverted as unsuccessful and developer will be informed to recheck the code and commit it again.

So those who are new and want to take up Software testing/ Quality Assurance / Quality Engineering/ Automation more seriously need to know that this field is more technical and domain driven than earlier. Prepare to learn new language and automation tools in your journey at the beginning of it.

All the best!!