What is Quality Assurance and its Role?

In the software industry, the quality related professional role is called as QA (Quality Assurance) or QE (Quality Engineering) engineer. In general, the “Quality Assurance” and “Quality Engineering” roles carry out the similar effort. The QA is a traditional role originated from industrial manufacturing assembly where the final product quality tested by verifying against a checklist, inspected for any damages and finally put a quality sticker. The similar QA role came to IT Software but associated with Engineering background. So, QE role makes sense for the Software industry, and it stresses more on the importance of applying the Engineering principles rather than simply repeating the quality assurance actions.

The QA role involves the tasks such as understanding of the software product features & domain knowledge, writing test plans, writing test specifications, manual execution of tests and interpreting results. Later, one has to do the development of automated tests, automated execution, and generation of final results summary for release level regression testing. Note that the QA role need average coding skills, but it takes more time and energy than in general as expected by many people. Because, for each product release in the product line, the developed tests should be continuously executed and verified to make sure no regressions at any point in time. The Quality Engineering skills have to be applied all the time during the product development. The quality has to be measured, assessed and concluded to prove that product is meeting the customer expectations. Without the engineering principles, quality testing might be happening and can discover some bugs but it may not ensure the proper proof to justify the on the quality and might leave some gaps. In summary, apply the core engineering principles such as measuring, making consistency, repeatability, and correctness during the application of testing techniques.

It is difficult to do the above principles merely with the manual approach because of limitations such as human errors in producing consistent actions & output, testing coverage with quick, agile product development cycles and making sure each build is verified for regressions. The Quality Automation is one of the important things to address this continuous regression testing. The automation effort needs programming skills in the same software domain and relevant skills to achieve the high automation, which saves time and test coverage.

Sharing my book that covers 16 core skills for QA & Java Automation professionals. Product Details Software Quality and Java Automation Engineer Survival Guide: Basic Concepts, Self Review, Interview Preparation (500+ Questions & Answers)Nov 16, 2016 by Jagadesh Babu Munta (More buying options such as iBookStore/Lulu/eBay can be found at http://www.everydayon.com ). Also, the paper book is available in India at http://www.everydayon.in

The below are 16 core skills covered in this book along with hands-on/getting started on a new job.

At a high level, this book starts with the areas such as processes (SDLC/Quality/OOPS), data (XML/XPath/JSON), code repositories (SVN/GIT), and operating systems (Unix/Linux). Then enters into programming (Java&JDBC), and later build frameworks/tools (ANT/Maven). After that, it covers more on unit testing frameworks/tools (Junit/TestNG) and continuous integration tools (Jenkins/Hudson). Next, it includes the functional testing of web applications and web services with frameworks/tools (TestNG/Selenium/SoapUI) covered. Finally, included samples code (for Java/Selenium) to reference offline, and also added hands-on/getting started in the job.

The preview of the book is available at https://drive.google.com/open?id=0BxzQzD6oofWmWjlVM0VsUTVpOU0

Advertisements

Author: Jagadesh Babu Munta

Jagadesh Babu Munta is working as a Consulting Member of Technical Staff with Oracle America Inc. He has been with Oracle and Sun Microsystems together for over 16 years (since June 2000) in USA. Jagadesh has overall 20+ years of Software development and quality/testing experience. Jagadesh's experience has been filled recently with Cloud PaaS services, Multi-Tenancy, Security and Penetration testing. In the past, he extensively worked on Java EE servers like SailFin/GlassFish/Sun Java System/iPlanet/Netscape Application Servers. Jagadesh has gained extensive expertise in software automation, designing frameworks, writing tools, scripts, creating tests, writing specs/plans, etc. Jagadesh is interested in developing and testing complex software useful to up-level the humanity. Jagadesh Munta holds M.S. in Software Engineering from San Jose State University, California, USA; B.Tech. in Computer Science and Engineering from J.N.T.U., Hyderabad, India; Special Diploma in Electronics with Specialization in Computer Engineering, G.I.O.E, Secunderabad, India. Jagadesh Munta was born in Nellore, AP., India and lives with family in Fremont, California, USA.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s