Purpose, noun, the reason for which something is done. Recently a discussion was started by one of the Testing co-blogger at LinkedIn “What drives Quality Assurance? What is the purpose of Software Testing?” A relevant discussion indeed. They say “If you’re not working with purpose, you’re doing it wrong.” This triggered me to put on the thinking hat and pen down my perspective of ‘Software Testing Goals’.
Defect Leakage is natural. It’s common. If you build a software, bugs will be there. Similarly even if you Test a software, you cannot prove their absence. But we can do our best to eliminate maximum of them. Typically in most of the projects even if you complete functional testing (system testing) without any time & cost constraints, still UAT team (Business) manages to catch some more bugs. Any idea why? There has to be something missing in the system test coverage. What is it?
From the time I am blogging, it makes sense to me to pen down my sudden thoughts. Many a times you come up with an idea, memory, solution, problem, anything and it is lost since we don’t remember it in future. That’s when I started writing my sudden thoughts about Software Testing and guess what, the ‘Sudden Thoughts of a Software Tester’ is getting a lot of traction on my Social profiles. So thought of sharing it with you all. Here we go…
Unless you took a refugee or voluntary retirement or moved to Himalayas, you must be aware of the ‘Virtualization’ and ‘Cloud Computing’ concept. Cloud computing has passed through the stage of hype to become a reality of modern enterprise infrastructure. Every other Tech giant has its cloud offerings, be it Amazon, Google, HPE, IBM, Microsoft or Salesforce. And how did it impact the Testing landscape? Yeah! Every big innovation in the technology space has its parallel influence on the Test processes & techniques. In no time testing evangelists started exploring the Clouds and came up with new Test approaches suited for the Cloud. Cloud Testing started trending in the town and I too jumped into this bandwagon. Yes, recently I have been working on a Salesforce Marketing Cloud project and OMG! Cloud Testing is so different..!
The concept has been around from a long time. The most famous example of Crowd Sourcing is “Wikipedia”. Wikipedia, the most comprehensive encyclopedia is the result of the information created by writers and editors from the crowd. The various Bug Bounty programs run by Tech giants is a wonderful practical application of crowdsourced testing which reward researchers and software hobbyists for finding software bugs. Beta testing (many apps have beta versions available in play store / app store including WhatsApp Beta program) is also a form of crowdsourced testing where a set of end-users can access the application & provide their feedback.
Today most of the organizations are moving or have already moved to agile development and testing. Or at least they think so. Sprints and daily stand-ups are common. Everybody is talking about Scrum & minimum viable product. We are tracking the team velocity & burndown. We have cut down on the documentation & invested in working software. Everyone is focused on customer satisfaction by accepting change. But wait a minute! This is too-happy a picture to be true.
How did you study when young? Ever prepared a time-table? Planned to study during early morning hours or late in the night? Researched about and collected the required books? Decided your approach to understand it or just mug it up? Focused on the main chapters which would yield maximum marks? What if you didn’t plan anything? Yeah! Chaos. You wouldn’t be here reading this in that case…That’s the importance of planning, in every sphere of life & software delivery too.
Recently a lot has been written & talked about the future of Manual Testing. Manual Testing is indispensable part of ensuring a high quality software. On the other hand, Automation Tests help you cut down the release cycle time. But usability & human behavior cannot be automated. With reduced time-to-market there is an added pressure on enterprises to seek automation alternatives. With the rise & growth of new technologies, people are more interested in scripting. But Manual Testing is the input to Automation scripts. Unless AI technology matches a human brain, Manual tests are best kept ‘manual’. You cannot automate everything. Cut the crap! Whatever be the debate but still Manual testers are finding it hard to stay relevant in today’s job market. Why?
For more than a decade now, Agile Project Management has been used and it wonderfully continues to grow in popularity. It is one effective methodology introducing revolutionary methods for the practice of project management. ‘Agile’ is an umbrella term used for identifying various models used for agile development, such as Scrum. Since agile development model is different from conventional models, agile project management is a specialized area in project management. It is required for one to have a good understanding of the agile development process in order to understand agile project management.
Most of the QA professionals are among the smartest people on this earth who often boast advanced degrees in engineering, mathematics or computer science. In some ways, we are like Superheroes – capable of breaking down a whole application and defeating an army of programmers with our defects, testing complex functions, juggling numerous technologies, ensuring customer ideas morphed into working software, all the while not breaking a sweat. So how is it that despite such technical savvy, programming prowess and quality driven attitude, we are defeated at test estimation front?
Though the aspiration for being a successful IT professional is strong, we assume that the word ‘IT professional’ is synonymous with ‘Developer’. When a testing opportunity presents itself, there are many doubts in our minds and we often wonder if it’s the right career move or not. While being a developer is great and has immense potential, it should not be concluded that being a tester means the exact opposite. Let’s explore the reasons behind the perception – Software Testing is inferior to Development,
In an agile business, automation is becoming an essential process. Companies are now taking advantage of automation testing tools to increase their efficiency and productivity. Automation is frequently evangelized as the cure-all of software quality woes. Some of the benefits that accrue from automated tests include test reusability, repeatability and coverage besides the savings on effort, time and cost it takes for execution (compared to manual testing). However it’s NOT the answer for everything. Test automation, while being able to improve numerous aspects of software development, has limitations that developers and quality assurance teams should be aware of from the start. Understanding these limitations of automation testing will help us devise an efficient & effective automation strategy.
Quality – Why is this word so important for your software? Software teams today involve a number of people: developers, testers, support engineers, designers, product managers, and executive stake holders. A low quality software impacts all of these or in other words everyone in the team is responsible for the quality of software delivered. When we look into the overall effectiveness or cost manual testing still have a pivotal role to play. Unfortunately, very little discussion is only happening on how to improve efficiency of manual testing instead most of discussions are happening on how to increase the level of automation. Many of us would advocate the fact that Manual Testing is no longer needed, and I know it well why they think so. It is mostly because of the drawbacks and challenges associated with Manual Testing.
‘Mobile App’ is the new buzzword. Then how can one stick to the traditional Test Plan template? The purpose of the Mobile App Test Plan is to define how the testing effort for the App release is planned, executed, and controlled. It is critical to have a rigorous Mobile App Test Plan before the App is deployed. The idea is simple, focus on the value it offers – boil Test planning down to only the essentials and cut all fat and fluff. Test Plan shouldn’t be like any other dead document (resulting in wasted effort) – written, reviewed, referred to a few times and then cast aside as the project moves ahead. A comprehensive Plan gives customers the confidence that an efficient Test process is adopted to ensure optimum App Quality! Let’s have a look…