SUBSCRIBE TO MY CHANNEL

Five Test Automation Mistakes to Avoid - Must watch for testers!

How to be successful QA leader? - Future leaders, QA Leads and Managers

LATEST THINKING

Saturday, March 25, 2017

Top Seven Trends In Software Testing To Watch.

9:27:00 PM Posted by Prashant Hegde 62 comments
We are witnessing an overwhelming evolution in technology which is demanding QA teams to upskill beyond traditional functional testing and gear up for integrated testing of embedded software, devices, IT solutions and big data. Here are some of the top trends in software testing that QA teams must be prepared for to help their organizations to create reliable products and services that elevate the digital customer experiences. 

1. Agile is Ubiquitous

Digital transformation is revolutionizing the way business is done. Organizations need to rollout their products and services out in market in the fastest possible time using the latest technologies and ahead of competition. Majority of the companies adopt agile methodologies to achieve this.
Screen Shot 2017-03-20 at 11.52.07 AM.png
According to the survey conducted by Saucelabs one year ago, agile development was already ubiquitous with 82% of organizations reporting they had adopted the methodology. This number grew in the past year to 88%.


2. Adoption of Dev-ops and Continuous Integration (CI) Grows

Dev-ops and continuous integrations help companies to push releases on a more frequent basis. Managing and implementing the quality and test measures are an increasing challenge. Organizations are struggling to achieve speed with the right level of quality. Testing will move to become more iterative, progressive, and seamlessly integrated with development.
Screen Shot 2017-03-20 at 11.55.06 AM.pngAccording to World Quality report, the use of DevOps principles has continued to grow, although it is still very much in an emerging stage. Just 12% of CIO respondents this year say they are not using DevOps, compared with 18% in previous years.
Continuous Integration also saw growth in the past year. Saucelabs say that the CI increased from 70% in 2015 77% in this most recent survey. This trend looks set to continue and grow in the future.

3. Selenium - King of Test Automation Tools

It is quite clear now that the more and more businesses are embracing open source tools for efficient execution of Agile, DevOps and Test automation.
Screen Shot 2017-03-20 at 11.56.55 AM-1.png
Selenium is skyrocketing in the automation tools industry and is the world’s most popular framework. Selenium is getting huge adaptation over other proprietary tools. The most surprising fact regarding Selenium in the United States is that it’s almost 300% more demanded than QTP/UTF which has made to second place.

4. Technology Trends Brings Flood of Challenges to the Testers

Machine learning and Artificial intelligence - In software testing, for every input there is an expected and defined output. We test the application and verify the actual outcome with the expected. But things have changed now, there is no defined output when testing complex machine learning systems.In such cases testers will have come up with objective acceptance criteria and understand the architecture of the network as a part of the testing process and describe their confidence in statistical terms.

Big Data - The amount of data that’s being created and stored globally is almost inconceivable, and it just keeps on multiplying. Testing of Big Data is an enormous and complex process. Testing Big Data application is more a verification of its data processing rather than testing the individual features of the software product. Big Data Testing challenges include virtualization, test automation and dealing with large dataset etc

Internet of Things – IoT Technologies offer amazing user experience and this is one of the prime reasons for user acquisition and growth. Unlike traditional systems, these advancing systems will need rigorous level of QA and test procedures to avoid defects in quality, security and performance. API testing and will gain significant importance in the era of connected devices

AR and VR - Testers need to equip themselves with new techniques pioneered specifically for VR hardware and software to effectively test these devices. VR’s includes a full-body immersive experience as opposed to the usual mobile app or a website. VR/AR devices are still at its infancy, so there are no safety guidelines/regulations to be compliant with. It is necessary to minimize discomfort while using these devices, testing becomes inevitable as there are physical consequences of wearing VR/AR devices such as eye strain, motion sickness, headache etc

5. Popular Python

For Testers who are new to coding, Python remains the first language choice as it is easy to learn and is very powerful. Jobs requiring Python skills have increased by over 300% in the past three years. Close to $7,100 gets added to your salary when Python is listed in your resume. 
Screen Shot 2017-03-20 at 12.02.05 PM.png



 

 

 

 

 



6. Security Testing Will Be More Significant

Security testing is not an emerging trend, it’s evergreen.
  • Recently there was vulnerability found in Facebook Notes which would let a malicious user delete notes from anybody’s account.
  • One bug in Slack, the popular work chat application, was enough for a security researcher to design a hack that could trick users into handing over access to their accounts.
  • An Indian security researcher successfully discovered and hacked to get a lifetime free Uber rides anywhere in the world.
Tech giants Google and Microsoft have raised the value of the pay-outs they offer security researchers, white hat hackers and bug hunters who find high severity flaws in their products. Security concerns are also rising for Internet of Things devices and security testing of IoT devices will gain prominence.
 MarketsandMarkets predicts that the global security testing market is expected to grow to $4.96 billion by 2019 from $2.47 billion in 2014.

7. Rise in Formal training and Certifications

Testers to stay relevant and to improve their competency level either get trained on their jobs, opt for formal training, take up certifications, attend conferences and so on.
Screen Shot 2017-03-21 at 4.45.43 PM.pngAccording to ISTQB’s testing practices report: testers besides training on the job (72%), organizations are improving the competency level of their test teams by encouraging their employees to undertake relevant certifications (51%) and formal training (46%). This means that learning theory and practicing hands-on activities are both seen as important and should be used in combination. Formal Training and Certification are used in combination by 31% of responders.

Sunday, February 12, 2017

3 Ways To Spice Up Your next Retrospective

7:23:00 PM Posted by Prashant Hegde 3 comments

Sprint retrospective is an opportunity for agile teams to reflect on their way of working, and to continuously improve in what they do. No matter how productive or successful your team is, there’s always room for improvement. There are always ways to do things better. The Sprint Retrospective is an opportunity for the Scrum Team to inspect itself and create a plan for improvements to be enacted during the next Sprint. The Sprint Retrospective occurs after the Sprint Review and provides a formal opportunity to focus on inspection and adaptation.

Most frequently heard problems with traditional retrospectives:

  • Engaging the team to actively participate in retrospections can be challenging -Some people never speak up and retrospectives are dominated by a few members of the team. If stakeholders participate they dominate the retrospectives.

  • Lack of creativity in the retrospectives makes the activity very boring.

  • Retrospective becomes monotonous and tedious as they happen after every sprint. Think about the short sprints(like 8 or 15 days sprint).

  • Retrospectives do not add value as they are just done for the sake of doing it and no plan is done to remove impediments that are identified.Actions items get accumulated and they are never taken up, they just remain in a document. Many times action items are themselves are very vague.

  • No one from the team is willing to take ownership of the improvements that are identified.

  • Some people use retrospectives as a platform to praise/promote themselves or criticise other teammates.

Let’s look at some fun sprint retrospective ideas that will help you to overcome some of these issues.

SAIL SHIP

This is one of my favorite visualization techniques used in retrospectives. I use this with my team and this works really well for us. This technique was introduced by Luke Hohmann, who presented it as one of the innovation games in his book “Innovation Games”.

The Sail Ship technique is quite simple. Draw a picture on your board as shown above.

1. The Ship represents the sprint team.
2. The winds(represented by the gusts of wind pushing the boat forward) are allowing the team or the project to proceed.
3. The anchors represent the impediments/hindrances to the team or project.
4. The island represents the goal.

The team members will individually write the positives(winds) and negatives(anchors) in the sticky note. This will make sure that everyone has contributed to retrospection and is not dominated by a single person. Later sticky notes are collected and grouped. The team later will come up with action items to remove every anchor that is listed.

There are different variants of the same activity like
  • Speed Plane
  • Hot-air Balloon
  • Speed Car

STARFISH RETROSPECTIVE

The starfish retrospective technique helps agile teams by getting them to reflect on varying degrees of things that they want to bring up, without having it fit into ‘What Went Well’ or ‘Not So Well’ so it scales a little bit better. This concept was introduced by Pat Kua.

Draw a starfish that will create 5 partitions as follows:

  1. Keep Doing – something the team is doing great and you recognized the value of it.

  1. Less Of – something the team is already doing; you see some value, but you rather reduce a little bit.

  1. More Of –  something already being done; and you believe will bring more value if done even more.

  1. Stop Doing – something that is not adding value or causing hindrance to the team.

  1. Start Doing – a new idea, a new development practice, a new tool or something that might add value.

Getting people to either write things up under the starfish in this manner gives you a scattergram of sorts and at one glance tells you the health of your project. Once again identify the action items and work on the improvement areas.





Three Little Pigs



The Three Little Pigs is a fun retrospective activity that is based on the fable featuring anthropomorphic pigs who build three houses of different materials. A wolf blows down the first two pigs houses, made of straw and sticks respectively, but is unable to destroy the third pig's house, made of bricks. This activity was introduced by Steve Wells.

1.Draw and explain the participants the 3 columns:
  • House of straw – what do we do that just about hangs together, but could topple over at any minute.
  • House of sticks – what do we do that is pretty good,  but can be improved.
  • House of bricks – what do we do that is very solid and we need to continue doing it.

The participants write their opinions on sticky notes and post it under respective columns and later are filtered and common entries are grouped. The action items are identified and assigned to respective team members.

Another similar approach is

Thirsty Crow

Based on the story of a thirsty crow that comes upon a pitcher with water at the bottom, beyond the reach of its beak. After failing to push it over, the bird drops in pebbles one by one until the water rises to the top of the pitcher, allowing it to drink.


  • Straw(assume the bird can use a straw to drink water) – What we are doing is awesome and we need to continue doing it.
  • Stone/Pebble –  What do we do that is pretty good,  but can be improved.
  • Cork(Floats) – What we are doing is not helping us rather blocking us from reaching our goal.

Retrospectives do not have to be serious all the time. Make sure retrospectives become pleasant and an enjoyable activity. Make sure you celebrate small successes or accomplishments no matter how small they are.

So what are you waiting for? Try out any of these creative techniques and spice up your retrospective.

You can find more innovative ideas for your retrospectives here:

Tuesday, January 3, 2017

3 Reasons why you Should Invest In API Testing

9:07:00 AM Posted by Prashant Hegde 22 comments
We live in an exciting age of intelligence, where progress moves at the speed of imagination. We are connected to the world and one another like never before. API(Application Programming Interface) is the unsung hero of our connected world. Here’s everything you need to know to about API’s and how API testing plays a vital role.

WHAT IS AN API?

API’s are used to integrate systems together, you can make data available for other systems to access via API or accept data from other systems. This is how different devices and applications talk to each other and share information.
Successful companies like Facebook, YouTube, Twitter use API’s so that their application can communicate with third party programs.Usually API works similar to the way any website works. A request is made from the client to the server and we get the response over the HTTP protocol.

The best analogy can be a waiter in a restaurant. The Waiter takes the request(which is the order for food) from the customers and conveys it to the kitchen(which is our server) and gets the food(response) from kitchen to the customers. API’s do the exact same thing. API is the messenger that takes your request and tells the systems what to do and then returns the response back to you.


WHAT IS API TESTING?
API TESTING is a type of software testing that involves testing application programming interfaces (APIs) directly and as part of integration testing to determine if they meet expectations for functionality, reliability, performance, and security. Since APIs lack a GUI, API testing is performed at the business layer.During the API testing the data is exchanged from XML or JSON through HTTP requests and responses. These are technology independent and will work with any of the programming languages and technologies.

3 REASONS WHY YOU SHOULD INVEST IN API TESTING

1. TESTING THE APPLICATION EARLY AND WITHOUT A USER INTERFACE

The later you find defects, the more expensive they are to fix. API testing engages testers early in development lifecycle. With API testing you can start testing your application early even without a UI. This helps to identify and fix issues early in development lifecycle which would otherwise be expensive to fix when identified during GUI testing. The advantage of API testing is that a lot of logic can be validated without being dependent upon the UI.

2. TO COME UP WITH A AWESOME TEST AUTOMATION STRATEGY AND REDUCE THE TEST AUTOMATION COSTS.

If we understand the “Automation pyramid” we can come up with an effective automation strategy.

The test pyramid concept was a developed by Mike Cohn and has been described in his book “Succeeding with Agile”. The base of the pyramid are the Unit Tests, these are the tests that are executed against the code.Unit tests are the least expensive to create, they are the fastest to execute and yield highest results. The 2nd layer are the API tests which are executed against the service layer. Finally, at the top of the pyramid are the UI tests that actually validates the application as a whole at presentation layer.
As we move up the pyramid, the cost involved in the creation and maintenance of test, the test execution time, test fragility and test coverage keeps increasing.The automation pyramid preaches that you should do much more automated testing through unit tests and API tests than you should through GUI based testing. Agile’s success is hugely dependent on early feedback.During practices like continuous integration the amount of time the GUI regression tests take to provide feedback when new build is deployed is too long. UI tests are expensive to develop and maintain. A small change in UI can break the tests and lead to a of rework.
Several times the testers are forced to automate at UI layer however the tests end up being unreliable,expensive,slow and flaky.This is one of the reason why many companies fail at efforts to implement an effective automation strategy.

3. AGILE SOFTWARE DEVELOPMENT AND REDUCED MANUAL REGRESSION TESTING

According to a recent survey by VersionOne, 95% of the respondents said their organizations practice agile. Agile methodologies are no longer solely the domain of startups and small development shops. The main reasons for adopting agile over the traditional methodologies is to accelerate product delivery and to embrace the changes. Agile has also increased the frequency with which applications are released, which in turn has created an increased demand for new ways to quickly test them. Test automation has become a critical factor to maintain agility. So it is necessary for agile teams increase their level of API testing while decreasing their reliance on GUI testing. API testing is recommended for the vast majority of test automation efforts.
API automation can drastically reduces the pressure of regression testing from the QA team.By integrating the API automated tests to the build server, the QA team can provide a quick feedback on the health of the application as soon as it is deployed. This provides an early evaluation of its overall build strength before running GUI tests.API test automation requires you  to code less and provides faster test results and better test coverage. API’s get stabilized early and are unlike to change frequently like the user interface. GUI tests can't sufficiently verify functional paths and back-end APIs/services associated with multi tier architectures. APIs are always the most stable interface to the system under test.
API testing is a unique form of software testing is particularly valuable for the businesses that embrace a continuous integration process. Building API tests during development of any software or service has far-reaching benefits across teams, all the way down to how your customer experiences the product. Making software that your target audience will love is essential to the success of your business and by having your APIs tested rigorously and regularly will ensure a reliable way of achieving it.

Popular Posts

Total Pageviews