Tag Archives: Software testing

Google Puppeteer

Puppeteer : Is it time to ditch Selenium?

Google has introduced a new library based on Chromium’s dev tool protocol. The library grants high-level API to interact with chromium and handle most tasks which you can perform using Chromium dev tools. The library is implemented in node.js and is really easy to get started once you install required packages using the node package manager.

……………………………………………………………………………………………………

Why Puppeteer?

Puppeteer flexes its muscle where selenium misses out. It is not just limited to interactions with the web application under test performing tasks like for e.g. interacting with dom, submitting forms, generating screenshots and pdf of web pages but also in intercepting network activity, throttling CPU and network, generating timeline trace and mocking API amongst some. The puppeteer can be easily be used to write end-to-end automation test suites with the benefit of getting a detailed timeline of the performance of all the assets (images, javascript files and so on).

Engineers can easily switch between headless and non-headless modes. While writing the automation suite, non-headless mode gives a good view of how the browser is interacting with the application under test and helps in debugging; just like in Selenium. But in production, we can execute suite in a headless mode as it reduces execution time and save resources.

……………………………………………………………………………………………………

Is it really that Good?

Yes, it enjoys the goodness of async code execution. You can always perform multiple tasks simultaneously following the latest javascript async await conventions. You can test the behavior of your application under different screen sizes. The network can be throttled on demand to find out how your application will run at low internet speeds. For e.g. if you want to test the error messages in an application when a user loses internet connectivity, puppeteer can easily handle such a scenario. Mocking APIs can also be achieved with utmost ease. For instance, if you want to test your “payment completed” screen but don’t want to go through the payment gateway flow, you can easily perform it with puppeteer by mocking the API response. With a detailed performance matrix, puppeteer can easily be used for performance testing.

So what are the drawbacks?

Google puppeteer supports only Chromium and Chrome out of the box. Third party implementations are available for Firefox and Internet Explorer. But they are experimental as of now and are missing a good chunk of the firepower. The documentation available is minimal as compared to selenium.

Why should you prefer Puppeteer over Selenium?

The targeted audience is the major deciding factor. If it majorly comprises of Chrome users you should go ahead with Puppeteer. Other factors include performing automation tasks which are not possible with selenium, like testing Chrome extensions, mocking API calls and so on. Selenium follows WebDriver protocol and has been from a very long time in the market compared to puppeteer hence itis better documented compared to puppeteer.

……………………………………………………………………………………………………

Conclusion

Puppeteer is a powerful library which has revolutionized the automation testing by overcoming functionalities missing in WebDriver protocol used by Selenium. Although it is still in the early stages, it promises a bright future, backed up as it is by the illustrious Chrome dev tools team.

……………………………………………………………………………………………………

If you have any queries in this field, talk to Mindfire Solutions. For over 19+ years now, we have been the preferred Software Development Partner of over 1000+ Small and Medium-sized enterprises across the globe.

Spread the love
  • 1
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
    1
    Share

Why should you outsource Software QA Testing?

Outsource Software QA Testing
Outsource Software QA Testing

Nowadays, consumers access the same software application on varying devices, platforms, and browsers. Your software application must functional flawlessly and deliver richer user experience across different user environments to become profitable. You need to perform elaborate software QA testing to assess the quality and user experience of the software properly. To assess the quality of the software properly, you need to perform various types of software testing – functional testing, performance testing, usability testing, integration testing, acceptance testing, and beta testing. Also, you have to repeat the tests across various devices, platforms, browsers, and networks to generate more reliable test results. Continue reading Why should you outsource Software QA Testing?

Spread the love
  • 7
  • 2
  •  
  • 2
  •  
  •  
  •  
  •  
  •  
    11
    Shares

Why Automation – Is it worth?

Automation Testing

Automated testing is need of the hour. Possibilities of the automation, apart from custom manual testing, are being analyzed for every other application now-a-days. It is preferred to manual testing due to several factors such as improved accuracy of tests, wider test coverage, more reliable results and above all, it saves time and cost rapidly.

Testing manually, on the other hand, is time consuming and error prone, hence can result in defects being left out. Having said that, I would like to analyze the positives of automated testing over manual as is generally said. Basically, it’s not always advisable to automate the AUT (Application under test) as opposed to prevalent myth about automation.

Automation can be accurate in giving reliable results with wider test coverage while saving time and cost, but this may not always be the case with all AUTs. Imagine the AUT with ever-evolving requirements and dynamic webpages. Here, Automation may be accurate with wider test coverage but will consume much more time and cost giving unreliable results due to system instability. In case of UI based AUT, if design changes frequently the automation is strictly discouraged. Further, choosing an inappropriate tool can lead to reduced efficiency as tool selection largely depends upon the technology used in the AUT.

It can be said that automation is the best way to increase the effectiveness, efficiency and test coverage of testing but only when proper analysis of AUT is made before shifting to it, else certainly a bad idea if its objective is not clear. Also, deciding on what to automate is most vital task before planning any automation process to follow. It is not possible to automate everything ; nevertheless modules that are stable and are manually tested at least once should be taken for automation. Test Cases that are executed repeatedly and consume time could be a priority, making the automation best suited for regression testing or retesting of the fixed issues. Descriptive test cases that are clearly explained are automatable and not the vague ones. Apart from regression, it can test stress, load and performance of the AUT.

Hence, Automation should be taken up only after analyzing the AUT and determining if the automation will actually be time and cost effective or otherwise.

Spread the love
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

A Glass of Google, Anybody?

Alternatively called revolutionary and creepy, Google Glass has cyberspace up – up in arms and up for it. Hate it or like it, you can’t ignore it.

There are social, privacy and etiquette implications. Not surprisingly, places where privacy is paramount (such as dive bars), have banned Google Glass. This makes headlines because…nobody knows!

And then there are positive applications such as surgeons monitoring indicators without having to look away. This makes headlines because…nobody knows!

Nobody knows what will happen to Google Glass.

You can’t even put it in any one slot. Is it technology? Is it fashion? Is it vanity? Is it utility? Is it the first attempt at mass wearables? Is it the advent of the cyborgs? It doesn’t end.

The best way to think about Glass is by closing your eyes.

If the downsides are mostly about inappropriate use or privacy concerns, the assumption is that wearers will never take them off. Given that it is easy to take off, it is is easy to see that people will just adapt and remove them at inappropriate places.

The question is: what utility can it provide?

Consumer uses are highlighted by Google. However, I feel specific work applications will come up as developers and organizations re-imagine the possibilities. You can use live-streaming for experience-sharing among friends, or field support personnel can use live-streaming to transmit a malfunctioning machine’s innards to an expert. You are an augmented human being with capability to see additional relevant information to the task at hand.

How can custom software development be impacted? One idea: a constantly recording Glass app with N-recent-minutes recording will mean that testers always have access to what they just saw – elusive bugs which cannot be reproduced will always be captured.

Every industry will have ideas of its own on what Glass can do for them. If Glass can make nurses more accurate, real-estate agents more responsive, students more attentive – you will use them.

Will you look uber cool or downright stupid wearing them? Will you care, if it helps you do things better and faster?

Spread the love
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Testing at Mindfire

When in Testing do as the Testers do!!!

Its high time to bridge a gap between theoretical knowledge and real world implementation.
If you are new to testing domain and just trying googling out the real meaning and approach of testing below are few points which I feel will be handy for a beginner.

– Prepare test cases or a checklist for the project you are assigned in. Include all the test scenarios you can think of. Yes you are thinking right!

 

P.S. All the positive and negative scenarios. 🙂

For beginners – Test a simple ’email log in’ page!
What all scenarios you guys can think of!Yes you are going on right track.. whatever weired comes to your mind..Just do not stop playing around.

P.S. Let the application crash!!! 🙂

– Start performing tests , find and report bugs but hang on always remember there’s no end to bugs i.e. you can never say ‘This application is bug free’!!

P.S. Cant help it! 🙁

– Step into Customer’s shoes ; feel like a lay man and you will be amazed to see the number of bugs you come across.

P.S. Do not end up stepping on toes! 🙁

– Be Creative in your approach ; while writing test cases or preparing a check list. Do not assume.

P.S. Assumptions is the mother of all mistakes! 😉

– Start Suggesting ; Dig into the details and get to know the product’s functionality and general behaviour. This will enable you to add value and suggest new features and enhancements to your product.

P.S. A smart move it is! 😉

Last but not the least..

– Follow Processes ; Stick to the organisation standards and guidelines and process of QA testing.

P.S. Follow the process and find as many bugs you can..after all we are a part of software QA testing team !! 🙂

Happy Testing!!! 😀

Author – Anisha Nayak

Spread the love
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Why Do You Do Things You Do?

Few things to consider before testing any application

I have a wall-pWhy Do You Do Things You Do?aper on my desktop which says: – “Why Do You Do The Things You Do” which forced me to write something like this which i feel should be considered before testing any application: –

1. Learning: – Analyze your test results thoroughly. Do not confuse yourself with ‘pass’ or ‘fail’ but finding the root reason of ‘fail’ or ‘pass’ will give you an idea for the solution of the problem. Testers knowledge increases by sending solutions for the problem

2. 100% of anything is not possible so having 100% test coverage is not possible but we can try to touch 99% of perfection.

Continue reading Few things to consider before testing any application

Spread the love
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Software QA Testing

18 things to keep in mind while testing any application

Testing Typography 1) Thorough analysis of the Test Results:
A good software QA testing professionals always tries to add some analysis to the bugs reported. Most of the times the error logs say a lot about the bug/defect. By adding that thing in the Bug Report, the tester makes it easy for the developer to fix the problem.

2) Try to attain maximum coverage:
Try to cover/test as many combinations as possible. Though it is not possible to attain 100% coverage every time, try to test the maximum combinations/scenarios those can be thought of and tested.

3) Go by the Golden Rule – “Divide and Conquer”:
To attain maximum test coverage divide the application to be tested into smaller modules and write separate test cases for each individual module. It helps in testing each module in detail and also ensures maximum test coverage.

4) Don’t forget negative scenarios:
Always write the test cases for the positive scenarios i.e. write the test cases to test that whether the system is working fine as per the specification under ideal conditions. After that, write test cases for Negative scenarios / invalid conditions. This will ensure that the system works properly when being given negative inputs and handles the errors/exceptions properly.

5) Think like a Tester – Where there is a TESTER there is a BUG 🙂
Start QA testing of the application with an intent of finding defects/bugs. Don’t come to a conclusion like there won’t be any bugs in the application. Think beforehand that there will not be any bugs in the application and you will actually end up finding no bugs.

6) Frame your test cases early:
Try to write the test cases in the Analysis and Design phase. This ensures that the test steps included in the test case cover all the requirements.

7) Get the Test case ready before the developer’s code for the functionalities:
Don’t wait for the release of the application for testing to write the test cases. You might think that you can log more bugs, but NO. Let the developers analyze your test steps to create a quality app. This actions would also help in saving the time spend on reworking on the test cases.

8) Take care of the notorious intruder – “Regression”:
Include some steps in the test case which refers to regression testing. This will ensure quick regression testing during the system testing itself thus saving the time for individual regression testing.
9) Make your application Huff and Puff – Test the “Performance”:
The Applications where the response time is a critical aspect should be tested thoroughly for performance. Try to find out methods to overload the application during the testing process to test the performance. “Load” and “Stress” the application as much as possible to test the performance of the application under unfavorable conditions.

10) One should not test the code written by him/her:
It is human tendency that we are sometimes unable to find out mistakes committed by us in case we check our own work. Therefore we should always encourage people (developers) to get their work checked by testers.

11) Think BIG. Go for some testing that is not mentioned in the requirements.
Try to test some scenarios those are not mentioned in the SRS or requirements specification. It would help in testing that the application does not do what it is not supposed to do.

12) Take the help from past experience/statistics/graphs/records/test results:
Referring to the past statistics helps a lot in determining the areas which are more prone towards defects. Using them while system testing or regression testing can be beneficial in determining the defect clusters.

13) Learn while you Work:
Whenever you encounter any new term during the testing process which is not familiar, just make a note of it. You can also note down the concepts you learn during the testing process. These data can be proved to be helpful during the preparation of Test Closure / Test Release report.

14) Make the TESTER an early bird – Involve a Tester from the beginning of the process:
It’s always advisable to involve testers from the early phases of the SDLC like Requirements Analysis and Design phase. This helps the software QA testing professionals get a more thorough idea about the application under test (AUT) and thus he can write better test cases with a better/detailed coverage.

15) Be the best by following the BEST PRACTICES:
Being a good tester, always try to follow the best practices. When possible share them too with other software QA testing professionals.

16) Be more social – Talk/Discuss with people/developers around you:
Discuss with the developers/Business Analysts to know more about the application. Whenever it is required, have a face to face discussion for resolving conflicts fast and to avoid misunderstandings. When you understand the requirement or resolve any conflict, make sure you have put it in a written format like emails. Do not keep anything verbal as it does not have any physical existence.
17) Prioritize your work:
Prioritize your QA testing work and plan the strategy accordingly. Don’t forget about risks while prioritizing.

18) Write an easy to understand and detailed bug report.
A good bug/defect report not only provides the bug’s symptoms but also provides the impact of the bug on the application. It is always better to do some analysis and add notes (if possible) for the possible causes of the bug. It helps the developer a lot while fixing the bug.

Author – Sudeep Pattnaik

Spread the love
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

I AM A BUG

BugHello folks ! Today I am going to tell you a story of three friends …. Yes you guessed it right, one of them is me . All three of us were a gang of notorious beings – blocking a code here, hiding a window there, disabling a button for the poor user or crashing the application a few times ! But we were living happily in our world until came in the big monster ‘The Tester’. Oh what a sweet fellow to begin with. He entered out territory with a gentle smile, its only later did we realize that he captured every corner of our house. He specially looked for the crevices and deep holes. God ! …. how difficult our survival became. Every morning when he came, we tried to hide ourselves and pray for the evening to come so that he would leave for the day. But how long could we, the tiny creatures survive this big bad monster and one day the inevitable happened and our lives changed forever.

Continue reading I AM A BUG

Spread the love
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Attending Asia’s Biggest Software Testing Conference

Software Testing ConferenceThis was really a nice opportunity for me to attend a ‘International Software Testing Conference’. As a ‘Software Tester’ this is really great forum to meet to all great software testing experts and muster knowledge and expertise from them. This is really a huge canvas to expand our network for knowledge concerns. We came across this international event, & finally two of us were selected for the conference.

We zipped our baggage and flew to Bangalore on 11th May 2011 to attend the conference on 12th and 13th May 2011. On 12th May 2011 we had reached the conference spot with vibrant curiosity which was at ‘Hotel The Chancery Pavilion, Residency Road, Bangalore, INDIA’ for the quest of knowledge.

Attending The Software Testing Conference

We completed the registration process successfully and entered the conference hall. At 9 AM the conference just started with a welcome note. After the welcome note we were given with some highlights of the events for that day.

So this way the conference just started with a huge a surprise. On 12th first event was a KEYNOTE by Rob Lambert, Software Testing Club, UK. “Narrowing the Gap between Requirements and Testing: Feedback Loops, Agile and Communication”. Rob was explaining about the Agile process, and gap between requirements and testing. In normal testing life cycle we follow certain standards about writing testcase and executing the testcases in real time. Which takes a lot of time. But Rob explained that we don’t need
to bother about writing all the test cases where we can make a checklist and only need to check them while testing in agile process. Well some debates were there on this concept but at last we were able to understand to the importance of the process which was explained by Rob. I spoke to Rob about this concept and got some concepts cleared about agile software testing and methodology in real time testing.

The second event was “Define and Build Enterprise Automation Framework”, Speaker(s): JayaKrishnan Sashikumar & Preeth K P, Infosys. In this event they explained their own enterprise automation framework. Which was a requirement in of their projects. They were just explaining the architecture and model of the framework.

“Delivering Business Value through Test Automation” Speaker: Maruthi Sivakumar, AppLabs was the third event. Where MR Marithi Sivakumar was explaining about benefits of Test Automation and how test automation can help manual testers to do their job in better way so that the repetitive task can be done within less human interaction.

After three consecutive events we had a small energy break. And after the energy break the fourth eventjust started.

The fourth event was a KEYNOTE by Julian Harty, eBay, UK. “Pushing the boundaries of User Experience Test Automation”. Julian was explaining about the user experience test automation. Now a days usability is the most important factor for all kinds of application. So Julian was explaining about the ‘User Experience’, and ‘Usability’. How to automate Usability testing while observing the user experience. I had a long discussion with Julian about the ‘User Experience’, ‘Usability’, and ‘User Interface’. In the end I got my doubts clarified by Julian.
The fifth event was “Test Automation Rule Radial Hybrid Framework” Speaker: Velu S. P, IBM. Mr Velu has created his own Framework for test automation for his current project testing. After this there was a lunch break.

The sixth event was “Accelerating Regression Test Automation using Ready-to-use Test Automation Framework” Speaker(s): Chandrashekar S, Pallavi Jain & Vidyadhara C.A, Infosys. In this event the speaker has illustrated how test automation helps in regression testing. The seventh event was “Robust Automation Framework using Database for Test Data” Speaker(s): Sriharirao
Kuchi and Merral Crasto, IBM. In this event the speakers has shown how to use database for data driven testing. Instead of using a flat file or excel sheet for data driven testing they have just explained how database can be used for this purpose and how it is helps as compared to the other file formats which is very very dynamic in nature.

After this we had a small tea break. And after the break we had a Plenary Session by Pradeep Soundararajan, Moolya Software Testing, India “Achieving Personal Excellence as a Tester”. This session was really interesting where Pradeep was explaining what should be the true nature of a software tester. How a ‘Software Tester’ should be in ideal form. How to gain knowledge in Software Testing, and how to communicate with other testers and software testing experts all around the globe. Pradeep has suggested the ideal approach for testing and test management.

“Data Driven Automation Testing of Web Application using Selenium” Speaker(s): Navaraj Javvaji, Anand Sathiyaseelan, UmaMaheswari Selvan, AVA Corp was the eighth session. In this session the speakers were explaining about the selenium tool and how to use it for data driven testing.

So in this way 12th May is over and in the end I had a talk with experts for some real time problems in my early projects.

On 13th May 2011 we have reached the conference spot in the same way. After the registration the conference just started with a welcome note. After the welcome note we are given with some highlights for the events for that day.

The first session was about KEYNOTE by Sai Chintala, Applabs, India “Effective Performance Testing”. In this session Mr Sai from Applabs has explained about the basic concepts of Performance testing and how to do effective performance testing.

“Basics on Security Threats, Challenges and Countermeasures” Speaker: Narsimha Reddy, Infosys was the second session where Mr Narsimha from Infosys has explained core concepts of security threats for any application. Where in this session the discussion was for SQL injection, XSS attacks, Script inject and so on.

In the third session we had “Perform Fuzz on Application’s Web Interface”, Speaker: Aniket Kulkarni, Symantec. Mr Aniket Kulkarni works in Symantec as application security researcher. He was explaining about fuzzing techniques to test any application for security and load testing. How to fuzz any application and crash/break the application and check the logs for the crash. So in this way one can encounter about the security holes in the application. Also Aniket has explained how to capture packets transmitted
and analyze the packets for security threats. Overall this session was really nice and helpful.

“Benefits of Automated Security and Performance Testing of SAP HCM Applications” Speaker(s): Abhinav Gupta, Chandrashekar.S, Shahbaz Ali, Sharita Priya Castelino, Infosys was the fourth session. This session was all about SAP based application.

KEYNOTE by Mahesh Saptarshi, Symantec India, “Software Security – Technical Challenges”. This session was all about software security and negative testing. How can negative testing can lead to software security threat and business risk factors.

The sixth session was on “Performance Testing: A Catalyst for Swift IT” Speaker(s): Ashish Tyagi, Siddharth Joshi, Vivek Bal, Capgemini. Mr Siddharth explained about the performance testing and its implementation in web based application.

“Issues during Performance Testing and Solutions using various Tools and Tricks” Speaker: Amitabh Kaushal, IBM was the seventh session. In this session Mr Amitabh was explaining about the various tools and their usage. Some commercial and open source performance and load testing tools.

All sessions were really informative and useful. However I came across these things which I have learned and which will really add value to my current and future testing work:

• Agile methodology
• Automation testing and creating own automation framework
• User experience Test Automation
• Regression testing using automation testing
• Data driven testing using database, excel sheet, and flat file
• Data Driven Automation Testing of Web Application using Selenium
• Effective performance testing
• Application security threats, challenges, and countermeasures
• Fuzzing technique for web based interface
• Software security testing
• Various tools and tricks for performance testing of application

Likewise attending the sessions I got the prospect to meet, share, and interact with different technology experts from different other companies. We shared our views and work procedure on software testing and methodology we follow. This conference helped me in building my network in the world of Software testing,which will help me getting support and sharing opinions with these experts on different problems from time to time that we face in our day to day work life.

This conference was really a wonderful experience for me. I got to know so many new concepts, tools, techniques, and methodologies which is really going to help me in my work. In fact I have started working in the manner as we have learned from this conference. Well in this international conference I have got the exposure to real time industry experts and their views.

I feel lucky to be a part of Mindfire Solutions, not only for allowing me such a huge opportunity to explore knowledge. This is the beginning of opportunities and there is a long way to go with Mindfire on the path of success. This is really a grand experience for learning matter.

Mindfire is our company which always promotes, enables, and supports in all the initiatives for the career growth of all its employees. I feel good when I get these kind of opportunities. Well this makes me feel special in Mindire. I am also looking forward for the opportunities like this in the future to sharpen my skills and expertise in the Software QA Testing and Quality Assurance.

Spread the love
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •