About us

Breaking

2021/04/20

What is Software Testing?

 

We all know what software is basically if anyone you have a problem in the real world we solve that with the help of a virtual world solution. So basically we are solving a real-life issues with software's right and then to build that we have certain steps to follow and we all know about SDLC software developed life cycle. Now based on what model you follow let's say if we talk about what a fault model we have. Certain steps right the first one where you take the requirements then you have to design the software. Designing means on the paper and then we code the software and then the next step is very
important which we normally miss which is testing. Testing is a phase in software development life cycle. What do we do in testing so basically if you say you are building a software of course it's for the client. You have to make sure that you are building a right product and you are building the product right and that's why we have these two words validation and verification in testing. 
 
In fact there is also a V model available but that simply means verification and validation.So verification is more about are you building the project right?  It simply means whatever you're doing it should work right. I should perfectly work if there should not be any bugs. If you say you want to add two numbers it should be two plus two equal to four. Why does not give you five on the other hand we have validation. Now this is more of what you are building should match with the client requirement. So if client wants two plus two it should be fine then you have to write a software which says two plus two is five maybe there's one which is interest right so you have to match the client requirement. So when you build a software the software should work efficiently and correctly but then at the moment you say testing you know a lot of people they don't like this word. Testing why you have to test we love development but testing is important.  
We have two types of testing. One is manual testing and second is automation testing. 
  • Manual simply means you are testing everything manually so you are taking the outputs you are giving some input on the other hand we have automation. 
  • Basically you write script to automate your testing. One of the way you can do that in Java is using j-unit. So you can j.u test case in different languages. We have defined way of testing it. So basically we have one more classification of testing which is functional testing. and non functional testing. 
  • When you say functional it simply means you are testing the code. Let's say if you like multiple classes multiple method you are testing them you're basically testing the actual  working on the software. That's the functional testing the code apart and then input parts but what about the performance what about the scalability. For example when you say performance when you run the software it should work smoothly. For example if the software which we use for editing  purpose this should not give any lag. When you play a game it should give proper performance. 
Next one is scalability. so let's say you can scale your application. if you deploy an application on cloud can you scale it that's also important. Don't just build a software which cannot scale but it works. Your software should be scalable. Those things comes under non-functional also what load balancing on loads. Can your software takes to load for example let's say software for hot star and  225 million
users using at the same time can your software handle that load that's also important. How do we test it basically we have two techniques one is black box and second is white box.

Black-box Testing

 Imagine if you want to test a mobile phone now you don't know how this phone works internally. So what you will do you buy a new phone or when you go to a show to buy a new phone what you do you unlock the phone. Unlocking works you want to test the cameras you know open different camera it should come out so that works that's great. You test the battery by just a battery doesn't matter so you will test the screen everything right so we will test the phone outside right you don't know how it is what is going on inside and that is a black box testing. 
 

White-Box Testing

You give the input you expect the outputs on the other hand. We have white box testing so you don't just test the outer working of the software but internally. So you will open this and you will check each and every component how that works that is white box. 
 

 
 

 Unit Testing 

In coding terms you will check the actual code. For different levels of testing  let's stick to Java. Here in Java we have classes and each class will have certain methods. Now you want to test the smallest part of your software which is a class.You will test a class and we will call them as units. So basically you will test each class which is units and we will call them as unit testing and if in Java if you want to achieve that we have J unit. 
Image result for integration testing in software engineering

Integration Testing

Once you test each and every component now you will combine all the component to test as software this is integration testing. You will combine a lot of different classes and then API.  Now once you have that you will do system testing.
 
Image result for integration testing in software engineering
 
Integration testing is conducted to evaluate the compliance of a system or component with specified functional requirements.

System Testing  

System trying out is trying out carried out on a entire included gadget to assess the structures compliance with its precise requirements. System trying out takes, as its enter, all the included additives which have surpassed integration trying out .It is vintage trying out of your gadget which you deployed. How that works with every other software or approximately the real data.

 


 

 Acceptance Testing

now once you have your system testing next that will go for is acceptance testing. This is where you will try to match your software with a user requirement. You will have the business requirement with you and you will try to match this. If that matches that's your acceptance test. 

 So basically we have these four levels available and then to do actually testing. We have different type of people so as a developer we normally focus on the unit testing annotation as well. Nowadays things are changing initially we used to have two different gurus but now we have our child team where everyone does everything so as a developer it's your responsibility at least to do the first part which is unit testing because when you make a class you have to make sure that that class works plus if you make a change in one class it should not affect the other classes.


No comments:

Post a Comment