TASK-1

D-Pavithra - Aug 25 - - Dev Community

TASK 1

  1. What is Software Testing? What do we need to know about Software Testing? What is the relevance of Software testing?

Software Testing:
• A testing process done to verify whether the developed product is meeting the entire customer/client requirement is called Software Testing. In other words, after the development of the software the process done to check whether the developed product is right and it meets the customer needs are called Software Testing.
• Software Testing is carried by two main methods i.e., Verification and Validation.
• Verification: To check whether the developed product meets the customer requirements or not is called Verification.
o In other words, “Are we building the software right?”
o It is process oriented.
• Validation: To check whether the developed product meets the user needs is called Validation.
o In other words, “Are we building the right product?”
o It is product oriented.
Types of Software Testing:
There are few software testing methodologies as listed below:
 Functional Testing: It involves executing the software and checking its behavior during runtime.
o Unit Testing: Tests individual components or functions in isolation.
o Integration Testing: Ensures that different components or systems work together as expected.
o System Testing: Validates the complete and integrated software system developed.
o Acceptance Testing: Confirms that the software meets end-user requirements and is ready for deployment.
 Non-Functional Testing: Assesses aspects of the software that are not related to specific functions.
o Performance Testing: Evaluates the software's responsiveness, speed, and stability under various conditions.
o Security Testing: Identifies vulnerabilities and ensures the software is protected against threats.
o Usability Testing: Checks how user-friendly and intuitive the software is.
 Manual Testing: Performed by human testers who execute test cases and evaluate results based on their knowledge and experience.
 Automated Testing: Uses tools and scripts to execute test cases automatically, which is useful for repetitive tasks and large-scale testing.
Relevance of Software Testing:
• Software testing is an important phase in the software development lifecycle for several reasons as below.

  1. Ensuring Software Quality • Testing helps ensure that the software meets performance benchmarks, such as response time and scalability. • Ensures that the software is user-friendly and provides a good user experience.
  2. Detecting and Fixing Bugs Early • Identifying and fixing defects early in the development process is generally less expensive than addressing them after the software has been deployed. • Early detection of issues reduces the risk of major problems in production, which can lead to costly downtime or failure.
  3. Validating Requirements • Testing verifies that the software meets all specified requirements and performs the functions it is supposed to. • It ensures that the final product aligns with user needs and expectations, increasing user satisfaction.
  4. Enhancing Security • Security testing identifies vulnerabilities that could be exploited by attackers, helping to safeguard sensitive data and protect against breaches. • Ensures that the software adheres to regulatory and industry standards for data protection and security.
  5. Supporting Development Process
    • Testing provides valuable feedback to developers, allowing them to make informed decisions and improvements throughout the development process.
    • Test cases and results help document the software’s functionality and behavior, which can be useful for future maintenance and upgrades.

  6. Improving Reliability and User Trust
    • Reliable software builds trust with users, leading to higher adoption rates and better overall satisfaction.
    • High-quality, well-tested software enhances the reputation of the company or development team, fostering positive reviews and customer loyalty.

  7. Facilitating Continuous Improvement
    • In agile and iterative development environments, testing is integral to continuous integration and continuous delivery (CI/CD), ensuring that each iteration or release meets quality standards.
    • Regular testing helps integrate user feedback into subsequent versions, leading to continuous improvement and refinement of the software.

. . . .
Terabox Video Player