earnerXone

First Learn then Earn. Online Learning and Earning made eaXy!

Advertisement

LightBlog

Thursday, 13 October 2022

FUNDAMENTALS OF SOFTWARE TESTING (Chapter 1 of Chapter 10 )

Chapter 1: FUNDAMENTALS OF SOFTWARE TESTING

 

                                                    Introduction to Software Testing:

 

We can see easily that in today’s era our every work can be easily done by using SOFTWARES.

For example ticket booking, hotel reservation, mobile recharge can be easily done by using software.

 

What is testing then?

For example when we go to buy a bulb, so we test it that it can be ON or not.  What if software testing is not done then what happens?? Let’s take an example of a traffic signal, a traffic signal operates automatically by using software.



If all signals will get green, then accident happens and death occurs. That’s why software testing is very important.

 

Another example is of Flight and aviation related software, hospital’s software.

 

SOFTWARE TESTING DEFINITION

 

Software testing is an activity to check, whether the actual results match the expected results or not.

 

Ensure that the software system is defect free.

 



Another example is of mobile recharge scenario:

If we don’t consider the scenario of wrong number input or wrong number sending scenario then recharge will be gone to another number and the user money will not be returned.

 



Bugs are sensitive and Dangerous.

 

Why software testing is needed???

 

To ensure customer reliability and satisfaction.

To ensure quality of the product.

Quality product delivered to customers help in gaining their confidence.

 



For example wrong VAT calculation on restaurant bill. Could destroy restaurant image and customer trust.



 

Performance of software should be tested.

Eg. Printing a bill is taking much time.


 

 



Why software testing is important.

Bugs can be dangerous and expensive in future.

 

Real Example:



 

 

 

SOFTWARE TESTING MYTH???

 

The whole software is need to be developed first then we do testing is wrong.

Reviewing requirements and developing test cases is an independent activity and is not related to the developed code.

 

Testing and all scenarios is complete. (Wrong approach)

100% bug free. (Wrong thinking)

No software in the world is 100% bug free.

Example

One application can work fine in Pakistan but not in usa



 

If quality of app is not up to mark or the app has defects, then testers are responsible (myth)

In case of testers we need to check whether requirements are changing are not.

 





 

TESTING PRINCIPLES…

 

 

 

 

 

Why principles in software testing???

So that we can do testing with uniform, discipline and output.

There are 7 Testing principles listed in the image below.



1)      Testing shows the presence of bugs

This means we need to design test cases in such a manner which are able to find as many defects as possible.

 

2)      Exhaustive testing is impossible

It is not possible to test all possible scenarios and test data so for this reason, risk and priorities are used to concentrate on the most important aspects to test.

 

3)      Early testing

How can we test if the application is not developed? So we can test as soon as the requirements start we can test the GUI, designs, and modules interaction.

 

 

4)      Defect Clustering

This principle states that 80% of the bugs are from 20 % of the code and the software used by people is 20% out of the full software 80%. This means the development team needs to focus on 20% of the software which is most useful to the user.

 

5)      Pesticide Paradox

This principle states do not test over and over again the same part of the software. Cover full software and rethink more and more scenarios that will cover all the possible scenarios and parts of the software.

 

6)      Testing is context dependent

This principle states that for different kinds of applications we need to use different testing methodologies. For example, health and airline software applications require more critical testing as they are linked with human lives apart from other types of applications, etc.

 

7)      Absence of error fallacy

 This principle states that finding a bug and fixing it does not resolve the problem. Software needs to be useful also according to the business requirements. Software testing is not merely to find defects but also to address business requirements.

 

 

 

 

 

No comments:

Post a Comment

Adbox