What is Software Testing?
Software testing is an investigation conducted to provide stakeholders with information about the quality of the software product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include the process of executing a program or application with the intent of finding software bugs (errors or other defects), and verifying that the software product is fit for use.
Testing Methods
Testing Method and Testing Approach can vary depending on the software being tested, the testing goal and the company that you work for.
- Black Box Testing (Behavioural Testing) – Normally functional testing of a component (eg. internal structure) that is not known to the QA Test Analyst.
- White Box Testing (Open Box Testing) – Testing based on an analysis of the internal structure of the component or system. The testing of a component that is known to the QA Test Analyst.
Types of testing
There are many types of testing:
- Unit Testing
- Integration Testing
- Functional Testing
- System Testing
- Stress Testing
- Performance Testing
- Usability Testing
- Acceptance Testing
- Regression Testing
- Beta Testing
Unit Testing is the testing of an individual unit or group of related units. It falls under the class of white box testing. It is often done by the programmer to test that the unit he/she has implemented is producing expected output against given input.
Integration Testing is testing in which a group of components are combined to produce output. Also, the interaction between software and hardware is tested in integration testing if software and hardware components have any relation. It may fall under both white box testing and black box testing.
Functional Testing is the testing to ensure that the specified functionality required in the system requirements works. It falls under the class of black box testing.
System Testing is the testing to ensure that by putting the software in different environments (e.g., Operating Systems) it still works. System testing is done with full system implementation and environment. It falls under the class of black box testing.
Stress Testing is the testing to evaluate how system behaves under unfavorable conditions. Testing is conducted at beyond limits of the specifications. It falls under the class of black box testing.
Performance Testing is the testing to assess the speed and effectiveness of the system and to make sure it is generating results within a specified time as in performance requirements. It falls under the class of black box testing.
Usability Testing is performed to the perspective of the client, to evaluate how the GUI is user-friendly? How easily can the client learn? After learning how to use, how proficiently can the client perform? How pleasing is it to use its design? This falls under the class of black box testing.
Acceptance Testing is often done by the customer to ensure that the delivered product meets the requirements and works as the customer expected. It falls under the class of black box testing.
Regression Testing is the testing after modification of a system, component, or a group of related units to ensure that the modification is working correctly and is not damaging or imposing other modules to produce unexpected results. It falls under the class of black box testing.
Beta Testing is the testing which is done by end users, a team outside development, or publicly releasing full pre-version of the product which is known as beta version. The aim of beta testing is to cover unexpected errors. It falls under the class of black box testing

A Certified Salesforce Administrator, Salesforce Einstein Analytics and Discovery Consultant, ISTQB® Certified Tester Advanced Level, Jitterbit Foundations and Jitterbit Core Certified QA Test Automation Manager who is also an experienced creative all-rounder with enthusiasm and the proven ability to understand client needs and deliver satisfying solutions. A thirst for new technology and modern Quality Assurance and Testing techniques keeps me aspiring to learn at every opportunity. My current role is at Publicis Sapient who are an official Salesforce Platinum Partner. Publicis Sapient provide Salesforce expertise and strategic thinking that enables organisations to transform their business to Cloud-based technology.
