Saving the world, one bug at a time

My Mission - DevQA

In addition to analytical and logical thinking testers must know notions of programming and also coding, same as for writing simple unit test scripts. They must know about concepts of databases, webservices, build systems and continuous integration.


A DevQA stimulates the testing area to expand their knowledge leading out of the comfort zone where once almost manual activities were repeated throughout the development of a system. They have an obligation to reinvent their activities and assisting the team in others, being more integrated and participatory.

Quality Assurance

QA is a failure prevention system that predicts almost everything about product safety, quality standards and legality that could possibly go wrong, and then takes steps to control and prevent flawed products or services from reaching the advanced stages of the supply chain.

Quality Assurance/Control

Quality Control

QC is a failure detection system that uses a testing technique to identify errors or flaws in products and tests the end products at specified intervals, to ensure that the products or services meet the requirements as defined during the earlier process for QA.

Testing Manifesto

  • Testing throughout over testing at the end
  • Preventing bugs over finding bugs
  • Testing understanding over checking functionality
  • Building the best system over breaking the system
  • Team responsibility over tester responsibility

Testing Types

  • Black box

    Testers are not required to know coding or internal structure of the software. Black box testing method relies on testing software with various inputs and validating results against expected output.

  • Unit

    Follows white box testing approach where developer will test units of source code like statements, branches, functions, methods OR class, interface in OOP. Unit testing usually involves in developing stubs and drivers.

  • White box

    Also known as clear box testing, transparent box testing and glass box testing. White box testing is a software testing approach, which intends to test software with knowledge of internal working of the software.

  • Integration

    Tests the connectivity among units/component or multiple units/components. There are different approaches for Integration testing namely, Top-down integration testing, Bottom-up integration testing and Sand witch testing.

  • Functional

    Functional testing focuses on testing software against design document, Use cases and requirements document.

  • System

    Will enable to validate the software as a whole against the requirements for which it was built. Different types of tests are carried out to complete system testing.

  • Regression

    Objective of regression tests are to find defects that got introduced to defect fix(es) or introduction of new feature(s).

  • Sanity

    Sanity testing is a quick evaluation of the software, environment, network, external systems are up & running, software environment as a whole is stable enough to proceed with extensive testing.

  • Acceptance

    Performed by end user when the features have been delivered by developers. The aim of this testing is to check if the software confirms to their business needs and to the requirements provided earlier.

  • Load

    Checks the behavior of the software under normal and over peak load conditions. Load testing intends to find bottlenecks or issues that prevent software from performing as intended at its peak workloads.

  • Usability

    Is performed to understand how user friendly the software is. Objective of usability testing is to allow end users to use the software, observe their behavior, their emotional response and collect their feedback.

  • Automated

    makes use of testing tools and/or programming to run the test cases using software or custom developed test utilities.

  • Security

    Objective of security testing is to secure the software is to external or internal threats from humans and malicious programs.

  • Compatibility

    Compatibility testing checks if the software can be run on different hardware, operating system, bandwidth, databases, web servers, different browsers and different versions of the browsers etc.

  • Stress

    It is a type of performance testing, in which software is subjected to peak loads and even to a break point to observe how the software would behave at breakpoint. It enables to check some of the quality attributes like robustness and reliability.

  • Exploratory

    An informal type of testing conducted to learn the software at the same time looking for errors or application behavior that seems non-obvious.

  • Component

    Component testing involves testing a group of units as code together as a whole rather than testing individual functions, methods.

  • Agile

    Accommodates agile software development approach and practices. In an Agile development environment,testing is an integral part of software development and is done along with coding.

  • Static

    In static testing software code is not executed instead it is reviewed for syntax, commenting, naming convention, size of the functions and methods etc. Static testing usually has check lists against which deliverables are evaluated.

  • Localization

    Software is expected to adapt to a particular locale, it should support a particular locale/language in terms of display, accepting input in that particular locale, display, font, date time, currency etc., related to a particular locale.

  • Gorilla

    Objective of Gorilla Testing is to exercise one or few functionality thoroughly or exhaustively by having multiple people test the same functionality.

  • Fuzz

    Involves testing with unexpected or random inputs. Software is monitored for failures or error messages that are presented due to the input errors.

  • Penetration

    tests how secure software and its environments are when subject to attack by an external or internal intruder. Intruder can be a human/hacker or malicious programs.

  • End-to-end

    Focus of end to end testing is to test end to end flows e.g. right from order creation till reporting or order creation till item return etc and checking. End to end testing is usually focused mimicking real life scenarios and usage.

  • Dynamic

    Dynamic testing is a testing approach where-in testing can be done only by executing code or software are classified as Dynamic Testing.

  • Accessibility

    Determines if the contents of the website can be easily accessed by disable people. Various checks such as color and contrast (for color blind people), font size for visually impaired, clear and concise text that is easy to read and understand.

  • Boundary Value

    Based on concept “error aggregates at boundaries”. In this testing technique, testing is done extensively to check for defects at boundary conditions. If a field accepts value 1 to 100 then testing is done for values 0, 1, 2, 99, 100 and 101.