Introduction to Software Testing

Software Testing is important as it uncovers a defect before it is delivered to the customer ensuring the quality of software. So that the defects or bugs can be identified in the early stages of development; as later the stage in which bug is identified, more is the cost to rectify it.

In this article we are going to discuss about the following:
  •  What is Software testing?
  •  Types of software testing?
  •  What is Manual testing?
  •  Types of manual testing?
  •  How to Perform Manual testing?
  •  Misconception about Manual Testing
What is Software testing?

Software testing is the process of evaluating a software system or its components with the intent of finding defects (errors or other issues) and verifying that the system meets specified requirements. Testing helps to ensure that the software is of high quality, performs as expected, and is fit for its intended purpose.

There are various types of software testing, including unit testing, integration testing, system testing, and acceptance testing. Each type of testing has a specific focus and purpose.

Unit testing involves testing individual units or components of a software system in isolation from the rest of the system. The goal of unit testing is to validate that each unit of the software is working as intended.

Integration testing involves testing the integration of different units or components of the software system. The goal of integration testing is to ensure that the different units or components of the software work together as intended.

System testing involves testing the complete software system in its intended environment, simulating real-world scenarios. The goal of system testing is to ensure that the software system is working as intended and meets the specified requirements.

Acceptance testing involves testing the software system to determine whether it is acceptable for delivery to the end user. The goal of acceptance testing is to determine whether the software system meets the requirements and is fit for its intended purpose.

Software testing is an important part of the software development process because it helps to identify defects and ensure that the software is of high quality. It is typically conducted by a team of software testers who are responsible for designing and executing test cases, analyzing the results, and reporting any defects that are found.

Effective software testing requires a thorough understanding of the software system and the requirements it is intended to meet. It also requires careful planning and the use of appropriate testing techniques and tools.

There are many challenges involved in software testing, including the need to test a large number of scenarios, the complexity of modern software systems, and the ever-evolving nature of software development. To address these challenges, software testers must be highly skilled and have a deep understanding of software development processes and methodologies.
  • Software testing is conduct to verify the application is working correctly or not.
  • Testing is conduct to find the defect in application .
  • To validate the application is working as per customer requirement or not.
Types of software testing?

Manual testing: Human performs the tests step by step, without test scripts. 
Automated testing: Tests are executed automatically via test automation frameworks, along with other tools and software.

What is Manual testing?
  • Manual Testing is a process of finding out the defects, bugs in a software program.  
  • A tester performs the end-user role and verifies if all the features are working properly or not. 
  • The Tester performs the tests step by step manually.
  • By Conducting the testing we can assess the quality of the application.
Types of manual testing?
  • Unit Testing
  • Integration Testing
  • Black Box Testing
  • White Box Testing
  • System Testing
  • Acceptance Testing
How to Perform Manual testing?
  •  Understand the requirements from the software requirement specification document.
  •  Identify the scenario and create a clear test plan. 
  •  Design test cases that cover all the requirements defined in the document.
  •  Get test cases reviewed by the QA lead and update it based on reviews.
  •  Execute test cases and detect any bugs
  •  Report the defect to developer and track the status.
  •  Once bugs are fixed, again execute the failing test cases to verify they pass.
Misconception about Manual Testing.
  •  Myth #1: Anyone can do manual testing.
  •  Myth #2: Testing is just verifying the app from the UI
  •  Myth #3: Testing ensures 100% defect-free product.
  •  Myth #4: Automated testing is more powerful than manual testing.
  •  Myth #5: Manual testing is non-technical and easy.
Please refer below youtube videos for more details:

No comments:

Post a Comment