Want to know about Automation Testing ???
Tags: beginners, tutorial, testing, automation
Published: 2023-09-03 16:26:26

## __ Here we are going to find answers for What is software testing ? what we need to know about software testing ? What is the relevance of software testing ?__

## **First what is Software:**
	Software refers to a collection of programs, data, and instructions that tells a computer what to do. It enables hardware (the physical components of a computer) to perform specific tasks and functions.

## **Then what is Software Testing:**
	Software testing is the process of verifying and validating whether a software or application is quality or not that is checking whether it is
•	bug-free, 
•	meets the technical requirements, 
•	is functioning efficiently and effectively.
In software testing two important words are used they are
	Verification: “Are we building the product right?” 
•	it refers to the set of tasks that ensure that the software correctly implements a specific function.
Validation: “Are we building the right product?”
•	it refers to a different set of tasks that ensure that the software that has been built is traceable to customer requirements.

## **What are the Types of software testing:**
	There are mainly two types of software testing they are.
			1. Manual testing.
			2. Automation Testing.
**Do you know about Manual testing:**
This testing is done without using any automation tool or any script. The tester took over the role of end-user and test the software to identify defects.
	Levels of the testing in manual are:
1.	unit testing, 
2.	integration testing, 
3.	system testing, and 
4.	user acceptance testing.
Testers use test plans, test cases, or test scenarios to test software to ensure the completeness of testing.

## **Here is what you seeking for _Automation Testing / Test automation:**_
Here in Automation testing the tester writes the scripts and uses another software to test the product. Here the automation of manual process takes place. Apart from regression testing, automation testing is also used to test the application from a load, performance, and stress point of view. It increases the test coverage, improves accuracy, and saves time and money when compared to manual testing.
 	

## what we need to know about software testing?
**1.	Types of Testing: **
     1.Functional Testing – test whether the actual output matches the expected output or not.
         i). Black box testing
     2.	Non-functional Testing – How well th system performs.
         i). Performance Testing: Evaluates the system's performance under various conditions to ensure it meets performance requirements.
         ii). Load Testing: Measures how the software performs under expected and peak loads.
         iii). Usability Testing: Assesses how user-friendly the software is by observing how users interact with it.
         iv). Load Testing: Measures how the software performs under expected and peak loads.
          v). Compatibility Testing: Ensures the software works correctly on different devices, browsers, and operating systems.

**2.Levels of testing.**
      i). unit testing, 
      ii). integration testing, 
      iii). system testing, and 
      iv). user acceptance testing.

**3.Software Developing Lifecycle (SDLC) Models.**
      i).Waterfall model
      ii). Prototyping model
      iii). Iterative/ incremental model
      iv). Spiral
      v). V-model
      vi). Agile model
      vii). RAD model
**4.	Software Testing Life cycle (STLC)**
     i.	Requirement analysis- Requirement traceability matrix - RTM
    ii.	Test planning – Test strategy
   iii.	Test case development – Test case
    iv.	Test environment setup.
     v.	Test execution- Defect logging, Test dat preparation, Defect retesting, Test reporting.
    vi.	Test closure – test summary report, defect tracing, Test environment cleanup, Test closure report. Knowledge transfer, Feedback and improvement.
**5.	Test Case design Techniques.**
    1.	Dynamic testing.
     i.	From SRD/ Black box testing.
    ii.	From structural component of a system.
   iii.	From testing experience
    2.	Static testing
     i.	Review.
    ii.	Walkthrough
   iii.	Inspection
   iv.	Technical review
**6.	Principles of Software testing.**
**7.	Some important keywords used in software testing life cycle. some of them are.**
     1.	Continuous Testing
     2.	Security Testing
     3.	Alpha and Beta Testing.
     4.	Regression Testing
     5.	Code Coverage
       1.Unit Testing
       2.Integration Testing
       3.User Acceptance Testing (UAT)
           1.Alpha and Beta Testing

	

## What is the relevance of software testing ?
Software testing is highly relevant and essential in the field of software development for several crucial reasons:
1.	Quality Assurance
2.	Defect Identification
3.	Risk Mitigation
4.	User Satisfaction
5.	Compliance and Regulations
6.	Cost Savings
7.	Continuous Improvement
8.	Release Confidence
9.	Competitive Advantage
10.	Customer Trust
11.	Security
12.	Maintenance.
13.	Documentation and Knowledge Sharing