We all know what software is so basically if anyone you have a problem in the real world we solve that with the help of a virtual world solution. Basically, we are solving 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. software testing.
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. Software Testing is a phase in software developers’ life cycle right so what do we do in testing so basically if anyway you say you are building software, of course, it’s for the client right. The client will make sure all you have to make sure that you are building the right product and you are building the product right and that’s why we have these two words violation and verification in testing. In fact, there is also a B model available but that simply means verification and validation. Software 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 of that so 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 a violation.software testing.
Now, this is more of what you are building should match with the client requirement right so if the 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. you have to match the client requirement so when you build software the software should work and 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 as well testing, why you have to test we love development but testing is important in fact if you have a video on that as well the home it is our testing we have two types. There one is manual testing and the second is automation testing.
Manual testing 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 so basically you write a script to automate your testing one of the ways you can do that in Java is using j-unit so you can you. a v 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 nonfunctional testing so basically when you say functional it simply means you are testing the code so let’s say if you like multiple classes multiple methods you are testing them. you’re basically testing the actual working on the software right 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 right it should example if the surface which we use for editing purpose this should not give any lag right when you play a game it should be it should give a proper performance.
The next one is scalability so let’s say can you scale your application so let’s say if you deploy an application on the cloud can you scale it that’s also important right. don’t just build software that cannot scale but it works no one’s born that right your software should be scalable so those things come under non-functional also what load balancing on loads can your software takes to load example. let’s say software for hot star and recently we had Indian user and match which is the same final and then at one point there were 225 million users watching at the same time so can your hand can your software handle that load. that’s also important so that comes under non-functional so how do we test it so basically we have two techniques. One is a black box and the second is a white box notice that box I can imagine if you want to test a mobile phone now you don’t know how this phone works internally so what you will do so when you buy a new phone or when you go to a shop to buy a new phone what you do you unlock the phone you check okay so unlocking works you want to test the cameras you know open different camera it so it should come out so that works that’s great so you then you test the battery by just a battery doesn’t matter so you will test the screen everything right. we will test the phone outside right you don’t know how it is what is going on inside and that’s that is a black box 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 the software but internally so you will open this and you will check each and every component how that works that is the white box so in coding terms you will check the actual code. okay so we have talked about types of testing and techniques so it’s time for different levels of testing so let’s stick to Java here in Java we write what of right so we have classes and each class will have certain methods so now you want to test the smallest part of your software which is a class so you will test a class and we will call them as units. Basically, you will test each class which is units and we will call them unit testing and if in Java if you want to achieve that we have a J unit then once you test each and every component.