Logo
Logo
  • Services
    • Image Not Found
      Let's Explore
      Testing & SQA Services
      Image Not Found
      Hire Now
      SQA Experts Augmentation
      Image Not Found
      Enroll Now
      Learn with QAHarbor
      Image Not Found
      Visit Now
      QA Jobs
      Image Not Found
      Watch Intro Video
  • Blog & News
    • SQA Blog
    • SQA News
  • About Us
  • Get consultant

[Part 01] Fundamentals of Software Testing

  1. Home
  2. Blog Single
[Part 01] Fundamentals of Software Testing
  • July 29, 2024
  • o3gRSamKBi
Fundamentals of Software Testing

01. Introduction to Software Testing

a. What is Software Testing?

Software testing is a process of verifying that software works as expected and meets quality requirements. To find issues, the software is required to be tested under specific conditions.

 

b. Why is software testing significant in the software development process?

Testing in software development is like checking your work before showing it off. It helps catch mistakes early on, so the final product works smoothly and users are happy.
Early problem detection: It is similar to catching a bug in your code before it is released into the wild. In this manner, we can remove this and before anyone even interacts with one of them run into negative issues.

Improved software: Just as living a healthy lifestyle offers benefits, testing helps create software that is more dependable and efficient.

Content consumers: When the software runs correctly and safely, users feel satisfied.

Getting ready for development: Testing ensures that the software can handle more users.

Saves money: Resolving problems early on is less expensive than waiting later, for example repairing a little hole in your clothes is easier than replacing a major hole.

c. Crucial role of software testing:

Software errors can cause potential financial and human losses. Many examples in history clearly show that a lot of damage has been done without testing in software. Below are some examples:

1985: A software error caused Canada’s Therac-25 radiation therapy to fail, alerting patients to dangerous radiation dosages, three injuries, and three fatalities.

1994: A software failure caused a China Airlines Airbus A300 to crash, killing 264 people.

1996: A software bug resulted in a credit of US$920 million to 823 clients’ US bank accounts.

1999: A $1.2 billion military satellite launch goes wrong due to a software breakdown.

2015: A software vulnerability in an F-35 fighter plane affected the aircraft’s ability to identify targets correctly.

2015: A London-based Bloomberg terminal crashed due to a software flaw that affected 300,000 investors in the financial markets, causing the government to reschedule the sale of £3 billion in debt.

02. Principles of Software Testing

In software testing, we look for bugs to be fixed before we deploy systems to live environments – this gives us confidence that our systems will work correctly when going live to users.

Testing Principles

  • Testing shows the presence of defects: Testing reduces the possibility that defects will remain unexplained in the program. Anyway, testing does not acknowledge accuracy even when errors do not exist. For example, Imagine a software application is designed to perform calculations. During testing, if some input is inserted as values and the calculated result is incorrect, it indicates there is a defect in the application.
  • Exhaustive testing is not possible: It is practically impossible to test every possible combination of inputs and scenarios in a software system. For example, consider a login form with username and password fields. It would be costly and slow to test every possible combination of valid and invalid inputs, so select the most probable scenarios that have a higher chance of revealing defects.
  • Early Testing: Starting tests early in the development cycle allows us to identify and fix issues before they become major problems.
  • Defect Clustering: Defect clustering means that most defects in a software system are often found in certain areas or modules. For example, during testing, you may find that most problems occur in a particular module. This highlights the need to find and improve this area to solve problems.

 

Defect clustering

 

  • Pesticide paradox: The efficiency of the tests to detect new issues decreases with more usage. This is because of the possibility that older tests may no longer be searching for the proper things after software updates and changes. For example, if a new feature is added to the software, the old tests may not be able to test that feature properly. To ensure that new bugs are found, it is important to update the test suite regularly.
  • Software testing is context-dependent: The techniques and methods used in testing can vary depending on the type of software that needs to be tested. Testing banking software will focus on the security and accuracy of money transactions while testing a gaming application requires verifying gameplay features and visual appearance.
  • Absence of error fallacy: It is a false belief that software is bug-free because no bugs were found during testing. It is important to remember that testing can never ensure the absence of all possible errors or defects.

For instance, a mobile application that is working perfectly in the initial phase of testing does not ensure that it is free of hidden issues that, used continuously by thousands of users, might come in crashes or data corruption.

 

03. Importance of Testing in Software Development

Software errors can cause potential financial and human losses. Many historical examples clearly show that much damage has been done without testing in software. Below are some examples:

  • Defect detection: Testing helps in the finding of software errors and problems so that developers can fix them before they have an impact on users.
  • Ensure dependability: By reducing the possibility of unexpected issues or crashes while in use, extensive testing increases software reliability.
  • Functional Validation: Testing ensures that the program meets user expectations, requirements and functions as required.
  • Enhance usability: Testing confirms that the software is simple and easy to use and successfully meets user needs by analyzing the user interface and experience
  • Risk reduction: Testing reduces the possibility of software errors, security weaknesses, and possible financial or negative publicity caused by faulty software.
  • Performance optimization: Performance testing ensures that the program works correctly in different situations and user loads, looking for limitations and problems.
  • Compliance and Standards: Testing reduces the organization’s risks related to law and money by ensuring that software meets industry standards, laws, and compliance requirements.
  • Customer Satisfaction: Dependable, verified software improves customer fulfillment, commitment to the company, and positive perception.

Next Part:

  • [Part 02] Fundamentals of Software Testing
  • [Part 03] Fundamentals of Software Testing

Tags:

Software Testing
Previous Post
Picked up a Brussels burger Sprouts with ham
Next Post
[Part 02] Fundamentals of Software Testing

4 Comments

[Part 02] Fundamentals Of Software Testing | QA Harbor Limited
July 29, 2024

[…] the next part of the previous one. If you didn’t read our previous part yet then please click here to […]

Reply
[Part 03] Fundamentals Of Software Testing | QA Harbor Limited
July 29, 2024

[…] [Part 01] Fundamentals of Software Testing […]

Reply
Cypress: Testing Framework For JavaScript In 2024 | QA Harbor Limited
July 29, 2024

[…] is a next-generation front-end testing tool (for software testing) built for the modern web. Users can develop and execute automated tests for websites using this […]

Reply
[Part 01] API Testing Basics: SOAP API & REST API | QA Harbor Limited
July 29, 2024

[…] API Testing ensures the Application Programming Interface performs what it is supposed to. […]

Reply

Leave a comments Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Load Testing: Step-by-Step Guide to Generating HTML Reports
  • Load Testing: Distributed JMeter Testing and Analyze Results
  • [Part 03] API Testing Basics: Practical Tips
  • [Part 02] API Testing Basics: SOAP API
  • [Part 01] API Testing Basics: SOAP API & REST API

Categories

  • Agency (3)
  • Analysis (1)
  • Blog Three Column (1)
  • Blog Two Column (1)
  • Consulting (1)
  • Featured (7)
  • Finance (1)
  • Firewall (1)
  • Knowledgebase (12)
  • Payment (1)
  • Security (1)
  • Software Quality Assurance (9)
    • Automation Testing (1)
    • Performance Testing (2)
  • SQA Fun Facts (9)
  • SQA Tips & Tricks (3)
  • SQA Tutorial (2)
  • Technology (1)
  • Top Featured (4)

Recent Comments

  • [Part 03] API Testing Basics: Practical Tips | QA Harbor Limited on [Part 02] API Testing Basics: SOAP API
  • [Part 01] API Testing Basics: SOAP API & REST API | QA Harbor Limited on [Part 02] API Testing Basics: SOAP API
  • [Part 03] API Testing Basics: Practical Tips | QA Harbor Limited on [Part 01] API Testing Basics: SOAP API & REST API
  • [Part 02] API Testing Basics: SOAP API | QA Harbor Limited on [Part 01] API Testing Basics: SOAP API & REST API
  • [Part 01] API Testing Basics: SOAP API & REST API | QA Harbor Limited on [Part 01] Fundamentals of Software Testing

Tags

Agile Agile vs Scrum vs Kanban in SQA Analysis API Testing API Testing Basics Artificial Automation Testing Automation Testing Framework Basics of Software Testing Cypress Data E-commerce Website Testing Financial Software Testing Generating HTML Reports Git Github gitlab Kanban Load Testing Manual Testing Open Source Playwright Process QA QA Role REST API Scrum SOAP API Software Software Quality Assurance Software Testing Software Testing Challenges Software Testing tool SQA SQA Career SQA Tester Store Testimng Tool Testing App Testing Framework Types of SQA Types of Testing Website testing
QAH-Transparent-Logo White
QA Harbor Limited is a Quality Assurance Service Provider, highly driven in the software and service quality assurance arena.
Our Location

House #470, Road #31, Mohakhali DOHS, Dhaka-1212

Quick Links

  • Company Profile
  • Contact Us
  • SQA Jobs
  • News & Blog

Our Services

  • SQA Services
  • SQA Augmentation
  • SQA Training
  • E-Learning Login
Join our subscribers list to get the latest news and special offers.
© Copyright 2024. All Rights Reserved by QA Harbor Limited.
  • About
  • Privacy Policy
  • Terms of Service