The digital technologies enable enterprises to automate various business processes and operations. But the technological needs differ from one enterprise to another. Based on the technological and business requirements, programmers nowadays have to write a variety of custom software products – desktop applications, web applications and mobile apps. Each type of application is built to meet specific business needs and based on predefined business requirements. Continue reading Software Product Development Best Practices
A steady increase is being noted in the number of enterprises implementing agile methodology to deliver software applications rapidly. Many enterprises adopt DevOps – as an extension of agile methodology – to deliver high quality software applications by unifying software development and IT operations. Both agile methodology and DevOps emphasize on continuous delivery and test automation. The enterprises should coordinate the manual and automation testing efforts to get the best results. Continue reading Best Automation Testing Tools For 2018
A very large percentage of consumers nowadays access websites and web applications on their mobile devices. But several studies suggest that consumers spend most of their digital media time on specific mobile apps. While developing a web application, an enterprise must focus on its mobile user experience to keep consumers engaged and persuade them to buy. The use experience delivered by a web application depends on a number of factors – accessibility, functionality, usability, performance, and security. Also, the user experience delivered by a single web application differs across browsers, devices, operating systems, and networks. An enterprise must implement a comprehensive web application testing strategy to measure its website’s user experience accurately. Continue reading Benefits of Outsourcing Web Application 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?
I was spending some time with a software test engineer (Software tester) recently and have a simple realization to share.
“How come this runs so slow?”
“Oh it runs just fine, just some problems only in IE browser”
“Yes but soooo slow?!?”
“Yes… but my Lead has seen it and knows about it”
“Which means it doesn’t matter?”
“Well not that… client has also agreed to Chrome-only support”
“The site will support only Chrome?”
“Yes, we described the problem and got client to agree to it”
“Do you have it in writing?”
“Very good. But why is this the case in first place?”
“Developers told me the 3rd-party component doesn’t run on IE.” (look on face: how does it matter since client has agreed anyway)
“You mean a best-selling web UI component library doesn’t run well on IE???”
“Yes that’s what developers told me”
After some pushing and research, it finally turned out that developers had to use another method of data access and voila! – everything ran smooth on all browsers.
No doubt, the incident above and its subsequent resolution display several best practices. Get acceptance criteria in writing. Make sure client understands limitations. Don’t trust explanations! Be hard-nosed. Use common sense (how can a best-selling web UI library possibly not function well on IE!). Don’t let your personal love override the obvious (Chrome is great but that doesn’t mean you can force users to switch).
An aspect I would like to focus on is: to whom should the software tester be responsible? Project Manager? Team? CEO? Entity/person who is paying for work?
In the course of project teams and organization and “reporting structure” and salary and revenue and a zillion other things, we forget what is obvious. In reality, the Lead/Manager doesn’t matter. The developers do not matter. The CEO doesn’t matter. The client doesn’t matter! They are all illusion, maya.
The only person who matters, the only person who finally decides, is the user. A software tester is responsible towards only the system being tested, and users of that system.
In the short run, you can get away by keeping your Lead/Manager happy. You can get away by accepting superficial wave-of-hand explanations from web application developers. You can get away by getting clients to agree to something illogical. You can get away by using bureaucracy to cover your behind – “I have it in writing”.
You can get away because the short run is imperfect. The short run can hide. But the long run is all about the right thing. The good thing. The correct thing. Quality. Truth. Details. Finesse. Care. The long run exposes everything.
The right thing here is to find and fix the problem, or find a workaround if it cannot be fixed.
If you do not, all might be well at the surface. But when the user rejects it in the marketplace, everyone loses. And why? Because we ignored her when we should have paid attention. We got confused by irrelevant intermediaries (colleagues, lead, client, CEO) and forgot who the software is being built for.
In the example above, the user is taken for granted. The user is actually expected to tolerate slowness, or switch her browser if she wants to enjoy our system. The IE user votes No and many users are IE-only. Yikes, that pinched!
As a software QA tester (whether for a web site or web application or desktop system or mobile app or server software and so on), you are the user’s voice and warrior. Don’t accept reasons. Make your point. File issues where you see issues. Revolt till someone notices. Help in getting the right thing done. Ride alone if you have to, but ride the right path.
Honestly, you are not alone in getting deceived by quick things. It is the same thing in business. Business gets confused by targets and profits and “customer satisfaction metrics”, because those are the quick and measurable things, although they are not what business is about. Business is about doing the right thing for people, not only the legally right thing.
Software testing is about doing the right thing for users, not only the officially right thing.
Author – Chinmoy Panda