You are on page 1of 8

WHAT IS SOFTWARE TESTING?

Software testing is the process of evaluating and verifying that a


software product or application does what it is supposed to do. The
benefits of testing include preventing bugs, reducing development costs
and improving performance.
There are many different types of software tests, each with specific
objectives and strategies:

1.Unit testing: Validating that each software unit performs as expected. A unit is the smallest testable
component of an application.

2.Integration testing: Ensuring that software components or functions operate together.

3.Acceptance testing: Verifying whether the whole system works as intended.

4.Functional testing: Checking functions by emulating business scenarios, based on functional requirements.


Black-box testing is a common way to verify functions.

5.Performance testing: Testing how the software performs under different workloads. Load testing, for
example, is used to evaluate performance under real-life load conditions.

6.Regression testing: Checking whether new features break or degrade functionality. Sanity testing can be used
to verify menus, functions and commands at the surface level, when there is no time for a full regression test.

7.Stress testing: Testing how much strain the system can take before it fails. Considered to be a type of non-
functional testing.

8.Usability testing: Validating how well a customer can use a system or web application to complete a task.
Usability Testing

Usability testing measures how easy to use and user-friendly a software system is.


This testing mainly focuses on the user's ease to use the application, flexibility in
handling controls and the ability of the system to meet its objectives. It is also
called User Experience(UX) Testing.
 
Benefits of Usability Testing

• Saves time for both the company and users.


• Provides a better user experience.
• Offers insight into how satisfied users are with the product.
• Identifies problem areas within the product which may not have been obvious
otherwise.
• Provides an unbiased examination of the product.
Functional Testing
• Functional testing is a type of software testing whereby the system is tested
against the functional requirements/specifications.

• Functions (or features) are tested by feeding them input and examining the output.

• Functional testing ensures that the requirements are properly satisfied by the
application.

• This type of testing is not concerned with how processing occurs, but rather, with
the results of processing.

• It simulates actual system usage but does not make any system structure
assumptions.

• During functional testing, Black Box Testing technique is used in which the


internal logic of the system being tested is not known to the tester.

• Functional testing is normally performed during the levels of System


Testing and Acceptance Testing.
Typically, functional testing involves the following steps:

• Identify functions that the software is expected to perform.


• Create input data based on the function’s specifications.
• Determine the output based on the function’s specifications.
• Execute the test case.
• Compare the actual and expected outputs.
• Functional testing is more effective when the test conditions are created
directly from user/business requirements.
• When test conditions are created from the system documentation (system
requirements/ design documents), the defects in that documentation will not
be detected through testing and this may be the cause of end-users’ wrath
when they finally use the software.
Types of functional tests

valid test data – data/inputs that the software product should accept
invalid – data/inputs that the software product should not accept
valid extreme - data/inputs that are valid but at the boundary of
acceptable
invalid extreme – data/inputs that are invalid but just outside the
acceptable boundary
erroneous – data/inputs that cannot be processed and should not be
accepted.
Activity
1. Describe the difference between functional and usability testing
2. Give one potential consequence of not carrying out functional testing
3. Give one potential consequence of not carrying out usability testing
4. A database table includes validation on a number field named Quantity. The
Quantity must be at least 1 and below 5. Give example test data for each type of
functional test.
• Valid
• Invalid
• Valid extreme
• Invalid extreme
• erroneous

You might also like