What is Software Testing ? Introduction and all the basic most required information

So today in this article we are going to talk about software testing. Testing of Software is very important for any software development company. Because they have to meet client's requirement and they have to make sure the software is bug free, But Software cannot be 100% bug free. So we can minimize maximum and critical bugs of any software during development phase.

So, The software testing is a process used to identify the correctness, completeness and the quality of developed software. Software testing includes a set of activities conducted with the 'intent of finding bugs and errors in the software. So that it could be corrected before the product is released to the end users.

What is Quality Assurance

The main aim of software testing is to check the quality of  system.Generally there are two type of software testing. They are:
  • Black-box Testing
  • White-box Testing

Black-box Testing:

 It is the testing of software without peering into its internal structures of working  or we can say without touching the coding part of software. Black-box Testing can be applied to virtually every level of software testing such as:
  • Unit Testing
  • Integration Testing
  • System Testing
  • Acceptance Testing

 White-box Testing:  

White-box testing is also called Clear box testing, Glass box testing, Transparent box Testing & Structural testing. In White-Box testing we tests internal Structure of software or working of an application, As opposed to it's functionality. In this testing method Internal perspective of  system, as well as Programming skills are used to design test cases.

White-Box Testing can be applied at the :
  •  Unit Testing
  • Integration Testing 
  • System level of Software Testing

Qlity Control and Quality Assurance
Software Testing Life Cycle

Functional Testing: Functional Testing is a Quality Assurance or QA is the Process and a type of black-box testing. Which bases its test cases on the specifications of the Software Components under test. Functional testing helps to describe What the system does ?. Also slices of the functionality of the whole system.  There is mostly asked question in QA interview that is: What is the Deference between Functional Testing and System Testing? The answer is Functional Testing  verifies a program by checking it against specifications or design documents and system testing validates a software by checking it against the published user or system requirements.

Unit Testing: It is a software testing method by which individual units of source code of system sets of computer programs modules. Together associate with control data, its usage procedures, and operational procedures are tested to determine whether they are fit for use or not. In unit testing we can view a unit as the smallest testable part of an software. In procedural programming, a unit could be any entire module, also it is more commonly an individual functions or Procedures. Unit tests are typically Written and run by respective software developers to ensure that the code meets its design and behaves as intended for system

 Integration Testing: It is the phase in software testing in which individual software modules are combined and testing as a group. Integration testing occurs after unit testing and before validation testing of software. Testing performed to expose defects in the interactions and interfaces between integrated components or systems.

System Testing: Basically it is the testing of software of hardware conducted on a complex integrated systems to evaluate the system's compliance with its specified requirements. System testing falls within the scope of black-box testing & such should require knowledge of the internal design of the code or logic itself.
This testing method is performed o the entire system in the context of a functional requirement Specifications (FRS) or a System Requirement Specifications (SRS).
In system testing we will test following components:
  • Graphical User Interface (GUI) Testing  
  • Visibility Testing
  • Performance Testing
  • Smoke Testing.
  • Recovery Testing
  • Accessibility Testing
  • Volume Testing
  • Stress Testing
  • Compatibility Testing
  • Load Testing
Performance Testing : In Software Engineering  & performance testing is in general, a testing practice performed to determine how a system performs in the term of responsiveness and stability under a particular workload. Also it can serve to investigate, validate or verify, measure other quality attributes of the system, such as scalability, reliability and resource usage.
In performance testing following units are tested:
 Load Testing, Soak Testing and Stress Testing are the type of performance testing.

Acceptance Testing: It is basically done by the user or customer although other stakeholders may be involved as well. The main goal of acceptance testing is to established confidence in the system. It is more often focused on a validation type testing. User acceptance test, Operational Test, Compliance acceptance test, Contract acceptance testing are included in acceptance Testing.
We can divide Acceptance testing in to Two parts: 
  • Alpha Testing: In alpha Testing Software is tested by developers or QA Engineers before providing it to customers for beta testing.
  • Beta Testing: In Beta testing software is tested by end users. 
What is Software Testing ? Introduction and all the basic most required information What is Software Testing ? Introduction and all the basic most required information Reviewed by Santosh Adhikari on December 09, 2018 Rating: 5

No comments:

Powered by Blogger.