Home » Software Engineering

Testing Phase in Software Engineering

In this article, we are going to study about the testing phase of the software engineering life cycle. We will first define what software testing means, what importance does this phase plays in the development of the software, and then will discuss its various types.
Submitted by Monika Sharma, on November 11, 2019

Testing can be defined as checking the software for its correctness. In other words, we can define it as a process of observing a program for its behavior on providing some set of inputs (known as test cases) to check whether it is producing the expected results or not. If the behavior of the software on every input is as per the expected results, then the software qualifies the test and is approved for the next phase in its development cycle. If the tests are not cleared, then the behavior of the software for the failed test cases is noted and the software is again sent to the developers for debugging and correction purposes.

In most of the software life cycle models, the testing phase is usually mentioned after the coding and development phase. However, it is not the only time when the testing is required in the software. It is believed by software experts and is also a very common practice in most of the leading software development countries that the testing of the software is performed in every stage of its development: starting from its ideation phase till its retirement. It is believed that a good quality software must include the testing of the software after every phase because this practice makes sure that the errors and faults in the code are detected in the early stages itself, and the sooner the error and faults in the software are detected, the easier and convenient it is to correct them. And it also helps the software to remain within the budget because fixing the error takes extra work, extra working hours and hence extra cost as well.

When we talk about software testing, there are certain terms that you will frequently come across. Like: failures, test cases, test suites. Let us explain what all these terms mean:

Failure

Failure simply means a non-functioning software. Software failure is a result of error present in the program. However, it should be noted that not every error will lead to software failures.

Some of the famous examples of software failures are the Y2K problem, a Software glitch in F-35 fighter planes, etc.

Test case

The test case is a set of inputs that are provided to the software to check its behavior for the given problem that it is expected to solve. This is the triplet: I S O, where,

  • "I" stands for the input that you provide to the software.
  • "S" stands for the system to which the input is provided.
  • "O" is the expected output that the system should produce.

Test Suite

It can be called as the superset of the test cases. A test suite is a set of all the test cases which are used for testing the software product.






Comments and Discussions

Ad: Are you a blogger? Join our Blogging forum.





Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates


© https://www.includehelp.com some rights reserved.