Saturday 18 April 2015

Exact Difference between System Testing and Acceptance Testing

Exact Difference between System Testing and Acceptance Testing

Distinction between System Testing and Acceptance Testing

Note:
System Testing: The process of testing an integrated system to verify that it meets specified requirements is known as system testing. [Hetzel]

Acceptance Testing: After the system testing is over, the software/application is tested by the client/user to check whether it meets the requirements given by him or not. This is known as acceptance testing.

Acceptance testing can be performed either at the developer’s site (premises) or client site.

Main Difference between SRS, FRS and BRS

Main Difference between SRS, FRS and BRS
Difference among SRS, FRS and BRS are seems to be same but in reality they all are different and important too because many of us do not know these simple basic terms, in simply we know these terms but not exactly. That is why I am writing the difference among SRS, BRS and FRS in tabular form so that those who are new to software testing field can learns it easily.

You can see the difference between SRS and BRS in tabular form below so that you can learn it easily and effectively.

Distinction among BRS,FRS and SRS:

Conclusion:
So this is all about what is the Difference between SRS and FRS and if you know more differences than discuss it here your opinions are always welcomed here.

Software Testing is Difficult and Hard – What You Say

Software Testing is Difficult and Hard – What You Say

Software Testing is essential for the betterment of the application and software. But apart from this many of us do not know that Software Testing is most time consuming and difficult task to perform.

People still believe that Software Testing is an easy task anybody can do it easily but in reality Software Testing is opposite of it because it is not an easy task to perform. Software Testing is as difficult as developing software because now days it requires more human efforts, as everyone wants quality so doing Software Testing are become difficult because it takes lot of time and money.

Software Testing – Hard and Difficult:
Performing Software Testing is considered as Difficult as well as hard too because of the following reasons which are shown below.

1. Software Testing is hard and difficult because we need to test the software/application for both valid and invalid inputs and in Software Testing we also check the performance parameters as well as functionality too.

2. Another reason for considering Software Testing hard as well as difficult because during the time of testing we always need to give the inputs in such a way that each and every line of the program/code is tested efficiently.

3. Another reason for being hard and difficult is that tester needs to give inputs randomly and ensure that the software/application never fails.

4. Another reason is that we need to test the software by keeping the user perspective in mind means by keeping in mind how end user is using it and check whether the error messages displayed properly or not.

5. Another main and clear reason is that we need to test the application/software by simulating the actual/real environment. Considering example if a database application has to be accessed by 200 users simultaneously, then it is not enough if you test the software/application for 5 0r 10 users and declare that application/software is working fine by leaving the software without checking all 200 users simultaneously.

6. Software Testing is considered as hard and difficult because in several cases, it is not almost possible to test the software/application in real/actual environment. Considering example how do you test the software that is used in a satellite launch vehicle or a missile? You can do the complete testing only in a simulated environment.

Your opinion:
This is all I know about why Software Testing is considered as hard and difficult task to perform and if you know some more reasons than you can discuss with me in comments to help others so that proper guidance will be given to every people those who are in the field of Software Testing.

Endurance Testing with Example, Meaning and Definition

Endurance Testing with Example, Meaning and Definition

Endurance Testing is a type of Performance Testing which is usually used to determine how much a system can sustain the continuous expected load. During the period of Endurance Testing memory utilization is always monitored to detect any potential leaks.

In short we can say that judging/studying the memory leak of a server under the period of stability is known as Endurance Testing. Due to its judgement and study on memory leak that is the reason why Endurance Testing is also known by the name Soak Testing.

As you know in Endurance Testing memory utilization is monitored so it very important for us to know about memory leak means what it is all about.

When memory allocated to objects are not being freed by the system/application than definitely the memory leak occurs.

Endurance Testing Example – Real Time:
Below is given the real time example of Endurance Testing and hope after seen these real time example your knowledge on Endurance Testing should definitely be increased.
For example in the closing days of bank we have continues load on that days so we always test the banking application by keeping in mind the Endurance Testing.
So in Banking Application we always test how much a system/application can sustain the continuous expected load during the closing days of Bank, so it is Endurance Testing Example done on real time Banking Environment.

Endurance Testing Definition:
Below is given the definition of Endurance testing which is only a one line definition but clears you a most.
Endurance is an ability to handle continuous load in a difficult/unpleasant situation over some long period of duration/time.

Endurance Testing Meaning:
You can estimate what an Endurance Testing is by discovering the meaning of word “Endurance”. Endurance means capacity/fitness so in other words you can say Endurance Testing means Capacity Testing. By Capacity Testing we mean how much a system has its capacity by handling the load for continuous period of time.

Note:
Please note that Endurance Testing applies a huge but natural load arrangement of transactions to the system/application for a continuous period of time.

Conclusion:
At end we conclude that Endurance Testing is also known as Longevity testing which is used in Load Testing that is the reason why it is considered as the type of Performance Testing. So after seen the post if you have any sort of issues related to the Endurance Testing than, discuss it here in the below comments section.

What is Random Testing with example? | Manual Testing Tutorial

What is Random Testing with example?
Random Testing is also confused with Monkey and GorillaTesting but it is obviously different from Monkey Testing and Gorilla Testing. Here I am writing the post on Random Testing which clears what a Random Testing is and how it is different from Monkey and Gorilla Testing.

Random Testing – Complete Guidance:
Random Testing is a black box test design technique where test cases are always selected randomly means by using an algorithm named pseudo random generation, which is used to match an operational profile. This technique of Random Testing is always used for non functional testing attributes such as performance and reliability points.

Random Testing Approach and Method:
As the name gives you the answer there is no specific approach to perform the Random Testing because it is an ad-hoc way of software testing. In Random Testing tester always picks some modules randomly to test by giving inputting random values.

Random Testing is a method which is always used to exercise a class. Random Testing is totally based on developing a randomly based test sequence that always tries the minimum number of operations usually to the behavior of the class.

Random Testing Example - Proper Guidance:
Below is given the best example on Random Testing which clears more means what a Random Testing is all about.

For example you are testing a website which is full of images means website is totally based on images and there is less content on that. Now as you know it is time consuming to test all the images so you randomly select some images to test than it is Random Testing.

Suppose there is a page name Samsung Mobile and there are fifty images on it so it is almost impossible to test all these images manually but you test the images randomly to check whether they are displaying properly or not means there is no broken images on that page. You test the images randomly like firstly you test the first image than you leave the next two images than you test the 4th image and so on.

So in this way you perform the Random Testing by testing the images randomly means you do not test all the images instead you test it randomly.

What you say – Feedback Welcomed:
This is all I know regarding Random Testing now what you say about this testing means how much you like the post and what suggestions you want to give because your feedback are always welcomed, so give your opinion and thoughts to help others regarding the very spectacular post of Random Testing. 

Friday 17 April 2015

Difference between Sanity and Regression Testing

Difference between Sanity and Regression Testing

Distinction between Sanity and Regression Testing


Conclusion:
At end we conclude that these are the quick and simple Differences between Sanity and Regression Testing in tabular form but the main difference is in its use. We use Regression Testing when we have enough time for Testing, and we use Sanity Testing when we do not have enough time for Testing.
But keep one thing in mind that purpose of both the Regression and Sanity Testing is same; the only difference is in its use. 

Difference between Functional and Non Functional Testing

Difference between Functional and Non Functional Testing

Before us proceeding towards the Difference between Functional and Non Functional Testing it is very important for us to first take a brief look at Functional and Non Functional Testing.

Functional and Non Functional Testing is what?
Functional testing is performed using the functional specifications provided by the client or you can say by using the design specifications like use cases provided by the design team.

In this, tester has to test the application to see that all requirements of the client which he has said in SRS and BRS have been incorporated or not.

Non Functional Testing is that which is always concerned with the client expectations like performance, load and stress issues and so on.

Distinction between Functional and Non Functional Testing



Exact Difference between Adhoc and Exploratory Testing

Exact Difference between Adhoc and Exploratory Testing

Difference between Adhoc and Exploratory Testing




Difference between Smoke and Regression Testing in Tabular Form

Difference between Smoke and Regression Testing in Tabular Form

Distinction between Smoke and Regression Testing - Simple



Exact Difference between GUI Testing and Usability Testing

Exact Difference between GUI Testing and Usability Testing

Exact Difference between Unit Testing and Integration Testing

Exact Difference between Unit Testing and Integration Testing

Difference between Use Case and Test Case in Table

Difference between Use Case and Test Case in Table

Difference between Manual and Automation Testing:

Difference between Manual and Automation Testing:

Difference between Manual and Automation Testing is the pillar of Software testing, because whole testing is based on Manual and Automation Testing. In a project you can do either Manual or Automation Testing and you can also do both Manual and Automation Testing simultaneously.

Complete Difference between Manual and Automation Testing


Explain Smoke Testing Example in Easy and Simple Way?

Explain Smoke Testing Example in Easy and Simple Way?
Smoke Testing Example is always confused with Sanity Testing Example but in reality both the testing examples are different with each other. Here I am writing Smoke Testing Example in such a way that your confusion can definitely be removed by seen the example.
Now before us proceeding towards Smoke Testing Example it is very important for us to first take a warm look at Smoke Testing.

Smoke Testing – Brief Look
Smoke Testing is considered as the surface level testing which is always used to validate that build provided by development to QA team is ready to accept for further testing. In Smoke Testing we test the major point’s means major functionality of the application and it is also known by the name Build Acceptance Testing (BAT).

Smoke Testing Example – Real One
Smoke Testing Example is given below which is totally based on Real Practical Scenario means which totally reflect your software testing process in a company environment.

For example we are working in a small project named Employee Management System and in this project there are four modules like New Employee Module, Existing Employee Module, Admin Module, User Module etc. So firstly in this four modules development team performs the Smoke Testing by executing all the major functionality of modules like New Employee is able to login or not and after login new employee can seen the record of the existing employee or not, and employee that is created can also be edited, deleted or not.

So in this way Smoke Testing is done by development team before releasing means submitting the build to the Software Testing team.

Now when the build is hand over means releasing to the testing team than the software testing team has to check whether to accept or reject the build by checking the major functionality of that build. So as you know we are taking the example Employee Management System, so our build is Employee Management System.

Now when the build (Employee Management System) is submitted means release to the testing team than the testing team has to check whether to accept the build (Employee Management System) or not by checking the major functionality of the build like employee is able to login or not and after login they can seen the existing employee record or not and after that logout easily or not. So this is the Smoke Testing done by Software Testers.

Keep in Mind
Please keep one thing in mind that firstly Smoke Testing is done by developer before releasing the build to the tester and when developers done the smoke testing than they releasing the build to the testing team and then testing team decide whether to accept the build or not for performing further testing by checking the major or you can say essential functionality of the build.

Conclusion
Smoke Testing Example is widely used and Smoke Testing is always done whenever we have to accept the build means before accepting the build we do smoke testing to check whether we accept the build or rejected (Refused).

Explain Regression Testing Definition, Meaning and Approach?

Explain Regression Testing Definition, Meaning and Approach?
People are confusing regression testing definition with its meaning and approach although they look like similar but there are few minor changes on regression testing meaning and approaches which are shown below.

Regression Testing Definition with Example:
Checking that fixed bug do not affect the other sections of the modules by checking the functionality and other scenarios of testing on different modules and within the similar module in which bug is fixed is known as regression testing.

Note: Do not confuse regression testing with re-testing because in re-testing tester only test whether the fixed bug is getting fixed or not by re-testing it.

On the other hand in regression testing tester only tests that fixed bug do not affect the other parts of the modules and do not bother and take less stress about whether the bug is fixed or not.
Exact Meaning of Regression Testing

Regression Testing Meaning is given below:
Regression Meaning is relapse or reverting so meaning of regression testing is “relapse testing” means it is done in two situations or you can shortly say in two conditions.
1. First condition is after fixing the bug by checking and ensuring that fixed bug does not affect the other parts and functions of the modules.
2.Second condition deals with change in requirements means when client change the previously done requirements than tester have to test that changing requirements do not affect the other requirements of the application which are done means completed.
Significant Approach of Regression Testing

Regression Testing Approach is given below:
As you know there are two approaches for integration testing like top down integration and bottom up integration similarly we have the two approaches for regression testing.
1. First approach is doing the regression testing when bug is fixed.
2. Second approach is doing regression testing when change in requirements of the client. 

Explain Bottom-Up Strategy of Integration Testing?

Explain Bottom-Up Strategy of Integration Testing?

Bottom up strategy just as the name itself clears, is the opposite of powerful top down strategy. This sort of mechanism starts with building and testing the modules first which are obviously comes under the category of low level, than definitely proceeding towards the working its way ups the hierarchy.

BOTTOM UP STRATEGY BENEFITS
The advantages of bottom up integration are like that:
1. There is never urgency or hurry for any kind of program stubs as we always start developing and testing with the definite or absolute modules.
2. Always Starting at the bottom of the hierarchy again means that the critical modules are generally built and tested first and therefore any errors or mistakes in these forms of modules are find out early in the process.

BOTTOM UP STRATEGY DRAWBACKS
Apart from top-down integration, there are some disadvantages of this procedure too which are given below:
1. In respect to test the popular modules we have to always form the test drivers first because they are more confused than compare to stubs. Also in addition to test these modules they themselves have to be tested so more time and efforts are needed to accomplish this complicated task.
2. One big disadvantage of bottom up strategy is that in this sort of testing no working model can be represented or you can say guided or tested as far as several modules have been built. This again means that a little form of errors in any of the interface is cached very late in the process.

Explain Business Process Testing? | Manual Testing Tutorial

Explain Business Process Testing?
Business Process Testing is abbreviated as BPT which guides Subject Matter Experts (SMEs) to design always QA tests early in the development cycle and in a process which is script-free also.

BUSINESS PROCESS TESTING CONSISTS OF FOLLOWING:
1. Some Reusable Business Components.
2. Those Business Components who are converted into Business process test.
3. Business components which are reusable units and that always performs a general task in a business process. (For example – Add to Cart).
4. A business process test means it is a scenario comprising about business components (for example - Place an Order).

HOW DOES BUSINESS PROCESS TESTING (BPT) WORK?
Business Process Testing means it is based on the creation, implementation, and running about business components in business mechanism tests using the following parts:-
1. Few Quality Center Business Components: - Business Components module enables you to always manage some reusable business components.
2. Some Test Plan: - Test Plan module always enables you to drag the components into business process tests, and debug the components also.
3. Some Test Lab modules: - Test Lab module enables you to run business process tests and view the results also.

BUSINESS PROCESS/MECHANISM ROLES AND WORKFLOWS
In business process testing SME (Subject Matter Expert) has the few roles to play like: -
1. SME defines and creates components.
2. Combines components into the business process tests.
3. Can also automate components.              
4. Always checks the business process test and application.

In business process testing AE (Automation Engineer) has the few effective roles to play like: -
1. Automation Engineer (AE) creates application areas.
2. Involves in Object repository.
3. Involves in Recovery scenarios and
4. Debugs the scenarios too.

Business Process Testing is always considered as a role-based testing model. It always enables Automation Engineers and SME (Subject Matter Experts) to work together to test a behavior of business processes during the period of application's development life cycle.

Automation Engineers are obviously experts in the field of automated testing. They preferably use Quick Test to define the resources and settings needed to establish components, which are the building blocks about business process tests.

Subject Matter Experts always understand the various parts of the application being tested, as well as the few business processes that need to be tested, however they may or may not necessarily have a spectacular knowledge of some programming needed to create automated tests.
SME use the Business Components and Test Plan modules data in Quality Center to create always keyword-driven business mechanism tests.

Integration between spectacular Quick Test and Quality Center always enables the Automation Engineer to create securely and maintain the required resources and settings.
While on the other hand it enables SMO (Subject Matter Experts) to create and implement business process tests in an effective environment which is always script-free, without the urge for any programming knowledge.

How to report a bug in small companies?

How to report a bug in small companies?

Bug is a mismatch between expected result and actual result. Hope as a tester you know regarding expected result and actual result.
As a tester whether you are working in small companies or in top MNC, when you detect the bug you have to report it.
But the pattern for reporting the bug differs from companies to companies like in top MNC’s tester’s always reporting the bug through bug reporting tools.
So various Open Source bug reporting tool available today but popular one is Bugzilla and Mantis, but Mantis is easier and user friendly than Bugzilla.
As people always knows that there are 1-2 testers in small companies so in these companies testers never report the bug through bug reporting tools. Testers just orally talk it to the development team that in this module we catch the bug so fixed it.
And similar thing happens it to the developers squad when they fixed the bug they just call the tester to his and her seat and said that check whether bug is fixed or not.
But you know this is not the appropriate or right way to communicate because we are working in a professional environment so we have to follow little documentation also.
Now the question arises in every people mind that how a tester report the bug in small companies without orally communicate with the developer.
Bug Report Sample - How to report a bug in small companies
In small companies where testers not working on any bug reporting tool they can report the bug through Microsoft Word and Excel.

Bug Report Example:
Considering example you are performing testing on login module and you find the bugs like when you login with xyz name so after login on home page it displayed the name as ABC.
Now you know it is Bug so how to report it through Microsoft word please sees it below.

Bug Report Sample:
Summary: Wrong login name is displayed.
Description: Wrong login name is displayed on Home Page.

Steps to Follow or Chase:
1.      Enter the URL Http:// ----------------- in the address bar.
2.      Fill the username field in login form.
3.      Fill the password field in login form.
4.      Click on login button below the form.

Test data: Enter xyz on username field.
Environment: Windows 7, Safari like that.
Actual Result: After login with xyz wrong login name is displayed on home page likes logged in as ABC.
Expected Result: Proper logged in name should be displayed on home page.
Screenshot:  Attach the screenshot here on where you detect the bug and save it in jpeg format.
Please note that summary should not be more than 10 words and description should not be more than 20 words.

CONCLUSION:
In this way in small companies tester can report the bug to developers. And we always knows that small companies do not report the bug through bug reporting tools but this statement is not true in all small companies because even several small companies report the bug through bug reporting tool.
But those companies or organizations that are not following any tool they should have to report the bug through Microsoft Word and Microsoft Excel which I mentioned earlier.

Is Software Tester Should Be From High Qualification Background?

Is Software Tester Should Be From High Qualification Background?

As a tester this question is my personal experience interviewer asked from me that do you feel software tester should be from high qualification background.

And definitely I just little surprised to hear that this pattern of questions can also be asked by interviewer because as a professional means software tester I never heard regarding this form of questions before.
On that time me just smiled and simply say no Sir I do not think software tester should be from high qualification background.
He softly smiled and replied to my answer that why and how you think so and simply say I believe that software tester should be from high qualification background.

Then again he replied this means according to your concern my answer is completely wrong what you say.
And quite politely I replied that sir your opinion is also right too but it may diverge from companies to companies because some companies want well and good educated people and some want well knowledgeable people.
Then quite politely he replied that how means can you prove this justify your answer briefly. Then I replied having the good qualification is good for your job and growth but what about others people who are not educated properly due to many problems like financial problems or some personal problems.

But now he and she want to prove themselves so forget about their past education see their present education means knowledge because it is again the possibility that some people who are not educated properly have more knowledge in their domain field as compare to people who have some good qualifications with them and on domain knowledge they are zero.

So I never thinks that software tester should always be from high qualification background because it’s not matter that software tester should be highly qualified the thing only matters that he and she obviously should have some good knowledge on their domain field.

But this sort of opinion is not true with all of the large companies or top MNC’S, because they not allowed the person in their companies who are less educated.

These companies only allowed those people to do job in their companies or organizations who have some good qualifications and good percentage of marks. But keep thing in your mind that it definitely may be the possibility that a person who is not educated properly but in knowledge he and she is expert than educated one.

Example:
I also have a real life example too which I think is most important to discuss it here because it simply clears that having high qualification is not matter at all, the only thing matter is your passion and domain knowledge.
You know very popular name bill gates the chairman of Microsoft was failed in some subjects and his friend was passed in complete subjects so now he is the owner of Microsoft Company and his friend is an engineer at Microsoft.

Conclusion:
Shared above mentioned point of bill gates because obviously want to tell my whole friends who are not gaining education properly means who are not educated much but they have the knowledge and passion especially my software tester’s friend that always learn from popular personality bill gates and don’t be upset if you are not more educated properly.
But keep your knowledge far away in your field and prove yourself in the whole universe, that people who are not always educated so much can also become a good and popular software tester and do anything in life.

Explain Top-Down Strategy of Integration Testing?

Explain Top-Down Strategy of Integration Testing?

Top down integration is primarily considering as an approach where modules are developed and testing of that modules always starting at the finest level of the programming hierarchy and continuing towards the lower levels.

Top down strategy of integration testing is an incremental approach because we proceed one level at a time. It can be determine either in “depth first search” and in “breadth first search” manner.
So now the question arises what does depth and breadth mean?
Depth means we always proceed from the top level complete the way down to the lowest level.
Below is given the meaning of breadth.

What is the meaning about breadth?
Breadth on the other hand is different with depth so breadth means that we start at the top of the hierarchy and then steadily go to the next level. We develop and test entire modules at this level before continuing with another level.

TOP DOWN STRATEGY BENEFITS
Below given are some major benefits of top-down integration testing:
1. Having the framework, we can test major or supreme functions early in the development process.
2. At the same time, we can also test any interfaces that we have considered and thus obviously identify any errors in that area special or very early.
3. The supreme or major benefit of this practice is that we include a partially working framework to show to the clients and to the top management too.

This of course increases everybody’s confidence in the development squad and also in the model itself.

TOP DOWN STRATEGY DRAWBACKS
There are few drawbacks to this procedure as well:
1. Impose stubs does not permit all the essential upward data flow.
2. Not enough data in the stubs to fee back to the calling module so this means the top-level modules cannot be really tested perfectly and every time the stubs are replaced with the real modules, the modules which are calling should be properly re-tested again for integrity.

Conclusion:
At end we conclude that this top down integration testing procedure allows us to originate or establish a framework of the system or product.
Now what is your viewpoint regarding top-down strategy of integration testing.

What are the Benefits of Regression Testing? Why we Perform Regression Testing?

What are the Benefits of Regression Testing? Why we Perform Regression Testing?

Regression Testing may definitely be performed manually, and it is also performed by re-executing a subset of complete and full test cases or by using some sort of automated capture playback tools too.

SOME BENEFITS OF REGRESSION TESTING:
1. Regression testing increases our chances of detecting bugs caused by changes to a software and application- either enhancements or defect fixes. Also keep one thing in mind that we also don’t give any sort of guarantee that for performing regression testing there are never any sort of side effects also.
2. Regression testing also detects undesirable side caused always by changing the operating environment.
3. The set about regression test is much useful for a new way about doing integration testing. This new mode is quite faster and little confusing than the old way about doing integration testing- but you always need a some sort of set about regression test to do it.

WHY WE PERFORM REGRESSION TESTING?
Regression testing will be considered after a bug fixed or when any area of functionality changed. During bug fixing method some part of coding may be changed or even functionality may be also manipulated so due to this change we have to perform Regression Testing.

Conclusion:
At end we conclude that regression testing may be considered manually or using some sort of automated tools too.
The purpose behind regression testing is very simple and straight. We obviously know that changes to an existing sort of system often cause some other things to break and decline.

Explain the Purpose of Testing? | Manual Testing Tutorial

Explain the Purpose of Testing?

Testing is the most time consuming, but a needful activity of a software project. It is vital to the success of new system.

The main Purpose of testing is to:
1. Measure the quality of the software
2. Find out the faults in the application and software
3. Reduce the number of bugs in the program.
4. Check all the requirements and specifications given by client and customers are met or not.
5. Produce a product which is full of quality oriented.
6. Comfort the need of client and customers.
7. Provide a defect and error free software.
8. Check whether the application is working as per the functional requirement specified or not.
9. Carry the difference between the expected and actual results.
Important purpose of testing is to increase the project and product quality, and definitely to increase the organization quality side by side also.

Conclusion:
At end we conclude that during software testing, the test engineer needs to discover as several bugs as possible before reaching those defects to client, which will definitely save lots of time and money.

Explain the Purpose of System Testing?

Explain the Purpose of System Testing?

System testing is used to verify the working of the whole system all together. System testing involves both functional and non functional testing.
The formation about testing an integrated system to check that it meets or follows requirements that are specified is known as system testing.

Basic Purpose of System Testing is to:
1. Ensure that a system or application meets its specification and any non-functional requirements (such as stability and throughput) also meets the requirements with its users.
2. Comprise a different tests series to fully exercise the computer-based system.
3. Confirm an application's or system accuracy and completeness in performing the designed functions.

Conclusion:
System testing means testing of the entire software. The main purpose of system testing is to detect whether the software meets its requirements or not.

What are Different Goals of Software Testing?

What are Different Goals of Software Testing?

Software testing is the mechanism of knowing that what’s the expected result and what the actual result a software project or product has given.
You simply say that software testing is nothing but validation and verification. Main goal of software testing is to ensure that software should always be defect free and easily maintained.

IMPORTANT GOALS OF SOFTWARE TESTING:
1. Always Identifying the bugs as early as possible.
2. Preventing the bugs in a project and product.
3. Check whether the customer requirements criterion is met or not.
4. And finally main goal of testing to measure the quality of the product and project.

SOME MAIN GOALS OF SOFTWARE TESTING:
1. Short-term or immediate goals of software testing: - These goals are the immediate results after performing testing. These goals even may be set in the individual phases of SDLC. Some of them are completely discussed below:
a)      Bug discovery: The immediate goal about software testing is to find errors at any stage of software development. More the bugs discovered at early stage, better will be the success rate about software testing.
b)     Bug prevention: It is the consequent action of bug discovery. From the behavior and analysis of bugs discovered, everyone in the software development team gets to learn how to code so that bugs discovered should not be repeated in later stages or future projects.
Though errors always cannot be prevented to zero, they can be minimized. In this sense prevention of a bug is a superior goal of testing.

2. Long-term goals of software testing: - These goals affect the product quality in the deep run, when one cycle of the SDLC is over. Some of them are completely discussed below:
a)      Quality: Since software is also a product, so its quality is primary from the user’s point of view. Thorough testing ensures superior quality.
Quality depends on various factors, such as correctness, integrity, efficiency, and reliability. So to achieve quality you have to achieve all the above mentioned factors of Quality.
b)     Customer satisfaction: From the user’s perspective, the prime goal of software testing is customer satisfaction only. If we want the client and customer to be satisfied with the software product, then testing should be complete and thorough.
A complete testing process achieves reliability, reliability enhances the quality, and quality in   turn, increases the customer satisfaction.

3. Post-implementation goals of software testing: - These goals are become essential after the product is released. Some of them are completely discussed below:
a)      Reduced maintenance cost: The maintenance cost about any software product is not its physical cost, as effective software does not wear out. The only maintenance cost in a software product is its failure due to errors.
Post- release errors are always costlier to fix, as they are difficult to detect. Thus, if testing has been done rigorously and effectively, then the chances about failure are minimized and as a result of this maintenance cost is reduced.
b)     Improved software testing process: A testing process for one project may not be blooming successful and there may be area for improvement. Therefore, the bug history and post-implementation results can be analyzed to find out snags in the present testing process, which can be determine in future projects.
Thus, the long-term post-implementation goal is to improve the testing process for future   projects.

Conclusion
At end in one line we conclude that main goal of software testing is to show that application is working as per as the requirements defined by client.

Why Software Testing is Expensive?

Why Software Testing is Expensive?
Software testing plays a major role in software development, but it is expensive too. In short-term we can say that software testing is time consuming but important too.

Software development organization spends between 30-40% of total project/product effort on software testing. Software testing thus often consumes several resources, than any other phase in the software project.

Here are some factors that make software testing so expensive:
1. Software testing is carried out throughout the software development mechanism; naturally its cost is for all duration of the software project till validation tests.
The idea behind this is that if bugs are detected earlier, it saves lot of trouble later. In this way software testing is exists from the beginning and increases expenses.
2. In case of critical and important software likes flight control, control on nuclear, space satellite control may always involves prototyping. Such testing based on prototyping or simulation is very expensive.
Software testing varies from several organizations to organization. Several factors in these organizations affect testing.

The several factors are listed below:
1. Communication and relationships of people
2. Testing scope
3. Misunderstanding regarding life cycle of testing
4. When test plans are poorly developed
5. Big testing constraints

Conclusion:
At end we conclude that Software testing often consumes more resource, than any other phase of software development. Software Testing is a most important element about the Software Quality Assurance and represents final review, specification, design and coding.

What is Testing Why It is Necessary?

What is Testing Why It is Necessary?

Testing is necessary to increase the quality of the project. Testing is most time consuming, but a crucial activity of a software project.

It is vital to the success of new system. For making the project reliable and Error Free, the complete project and product must be tested in a systematic and organized way.

DEFINITION OF TESTING:
(According To Hetzel)
“Testing is the mechanism of establishing sureness that a program or product does what it is supposed to do.”

(According To Glen Meyers)
“Testing is the mechanism of executing a program or product with the intent of finding errors.”

WHY NEED OF TESTING:
It is remarkably performed for one of the two reasons: -
1. Bug Detection
2. Improvement belonging to quality

Testing is needed not always for improving product and project quality but also for improving company quality. Without testing company can’t grow at the upper level.
Testing is needed for almost all the organization which wants to grown up easily. Testing is needed for properly understand the fault errors in software during its development phases.

Testing is necessary in software development. It always ensures the users satisfaction and reliability of affecting software.

Below given the example which clears why testing is necessary: -
For Example if a company works on some long projects, and delivers those projects to the client without doing the proper testing, and after delivering the projects to client if client found some big bugs on the projects, than at that time it is the ashamed for company.

And obviously that client never comes back for having testing of their projects so it’s harm to company and apart from loss company quality is also decreasing so testing is needed.

Conclusion: -
At last we conclude it’s a fact that, when specific person starts checking commodity which is prepare by some other person, there are definitely 99% chances that checker and observer will discover some problem with the system. So it clears testing is needed.

Write test cases of fan? | Manual Testing Tutorial

Write test cases of fan?

There are numerous test cases of fan which are given below:
Test case 1: Check whether it moves or not.
Description: Ensure that fan should moves properly.
Expected result: Fan should be moving.

Test case 2: Check it should have minimum 3 blades.
Description: Ensure that length of fan blades should be considered to 3 blades.
Expected result: Length of fan blades should not be shorter than 3 blades.

Test case 3: Check it should be on when electric button (switch) is on.
Description: Ensure that fan should start working when electric switch is on.
Expected result: Fan should be on when electric button (switch) is on.

Test case 4: Check whether Speed of the fan definitely be controlled by the regulator.
Description: Ensure that speed of fan should be controlled.
Expected result: Fan speed should be controlled by the regulator.

Test case 5: Check it should be stop working once the electric switch off.
Description: Ensure that fan should stop working once the electric switch is off.
Expected result: Fan should be off once electric switch is off.

Test case 6: Check the proper “company name” should be displayed on fan or not.
Description: Always ensure that name of company should be properly displayed on fan.
Expected result: Proper name of company should be displayed on fan.

Test case 7: Check Fan should always work in clock-wise direction.
Description: Ensure that direction of fan should be in clock-wise.
Expected result: Fan should work in clock-wise direction.

Test case 8: Check the color of the fan blades.
Description: Always ensure that all the blades of fan have same color.
Expected result: Color of all the blades of fan should be of same color.

Test case 9: Check the fan during (while) in motion should not vibrate.
Description: Ensure that the fan during (while) in motion should not vibrate.
Expected result: Fan should not vibrate.

Test case 10: Check whether the blades should have decent distance from the ceiling.
Description: Ensure that fan blades should have decent distance from the ceiling.
Expected result: Fan blades should have decent distance.

Test case 11: Check the size of the fan blades.
Description: Always ensure that all the blades of fan have same size.
Expected result: Size of all the blades of fan should be of same size.

Test case 12: Check whether it operates in low voltage.
Description: Ensure that fan should properly operate in low voltage.
Expected result: Fan should be properly operated on low voltage.

Test case 13: Check whether speed varies when regulator adjusted.
Description: Ensure that speed of fan varies when we adjust the regulator.
Expected result: Speed of fan varies while adjusting the regulator.

Conclusion:
At end we conclude that above mentioned test cases are not based on any requirements or specifications. These test cases are without specifications and requirements.

Explain Positive Testing And Negative Testing With Example?

Explain Positive Testing And Negative Testing With Example?

Positive Testing: - When tester test the application from positive point of mind than it is known as positive testing.
Testing the application with valid input and data is known as positive testing.

Positive testing: - A test which is designed to check that application is correctly working. Here the aim of tester is to pass affecting application, sometimes it is obviously called as clean testing, and that is “test to pass”.

Negative Testing: - When tester test the application from negative point of mind than it is known as negative testing.
Testing the application always with invalid input and data is known as negative testing.

Example of positive testing is given below:
Considering example length of password defined in requirements is 6 to 20 characters, and whenever we check the application by giving alphanumeric characters on password field “between” 6 to 20 characters than it is positive testing, because we test the application with valid data/ input.

Example of negative testing is given below:
Considering example as we know phone no field does not accept the alphabets and special characters it obviously accepts numbers, but if we type alphabets and special characters on phone number field to check it accepts the alphabets and special characters or not than it is negative testing.

Conclusion: -
At end we conclude that tester has to perform both these testing simultaneously.

Write Test Cases of Pen?

Write Test Cases of Pen?

Test cases of pen are given below: -
But keep one thing in mind that test cases for pen may vary if you have different requirements or set of requirements.

Below is given different test cases of pen which does not contain any requirements or specifications?

Test cases of pen are like that:
1. Verify the color of the pen.
2. Check GUI testing means logo of the pen maker.
3. Check Usability testing means grip of the pen.
4. Verify whether the pen is ballpoint pen or ink pen.
5. Check Integration Testing means cap of the pen should easily fit beside the body of the pen.
6. Check pen should be continuously in writing mode.

Some Functional test cases for pen:
1. Check whether it writes on paper or not.
2. Verify whether the ink on the paper is belongs with the similar color as what we see in the refill.

Performance and load test cases for pen:
1. Verify how it performs when writing on wet paper.
2. Verify how it performs when writing on rough paper.
3. Verify how it performs when writing on hand because we occasionally do that
4. Check load test means when pen is pressed very hard against the tough surface then pen refill should not come out of the pen.

Negative test cases about pen:
1. Verify whether ink is available or not.
2. Check if ink is available, than the pen does not write on the paper.
3. Verify by bend the refill at multiple ends and then try to write with it.
4. Verify by dip the pen always in to the water and then write it again.
5. Check whether it write on leaves or not.

Additional test cases for pen:
1. Check usability testing means test by writing on a section of paper, Examine if you can write smoothly. It should not be writing and stopping among (with) breaks.
2. Check capability or reliability testing means Test the writing capacity (the amount of writing that is possible from a single refill) of the pen.
3. Check Robustness testing means Test wherever you can carry the pen in to your shirt and pent pocket using its cap. The cap distension should be solid enough to grip your pocket.
4. Check Compatibility testing means Test by writing on distinct types of surfaces like: rough paper, packing material, glass, leather, cotton, wood, plastic, metals like aluminium or iron, polythene sheet etc.

Conclusion
At end we conclude that apart from above mentioned test cases there are numerous test cases for pen but these above mentioned are the universal one.

What do you mean by soak testing?

What do you mean by soak testing?

Soak testing is different type about performance testing in which tester always test the stability and response time of affecting application by request the designed load for a longer time.

Soak testing is sometimes also called as endurance testing and longevity testing.

Soak Testing is the form of Performance Testing, which incorporate testing a system with expressive load extended over an expressive period of time, to discover how the system and product behaves under repeated use.

Example of soak testing:
Considering example in a banking environment large amount of load is expected at the deadline of every month, means on the time of banking closing days.
So tester always perform the soak testing on banking application to test huge levels of load for prolonged amount of time. So in banking application tester put the grand amount of load for prolonged amount of time like put load for 72hrs to 120 hrs, to check how application behaves during this load period.
Soak testing means running a system at huge levels of load for prolonged amount of time. A soak test would generally execute some times more transactions in an entire (full) day (or night) that intend be expected in a busy day, to distinguish any performance issues that appear after a immense number of transactions have been executed.

A soak test also called an endurance test is generally done to originate whether an application can handle with the continuous expected load. A soak test is also used to audit whether there is any performance degradation afterwards a long period of activity.
This standard of test can identify problems relating to memory allotment, log file handles, and database resource utilization. Typically problems are identified in shorter targeted performance tests.
So apart from soak testing it is precise crucial for us to know endurance testing.

Endurance Testing: This form of testing checks how durable the system is over an amount (period) of time. It applies a large but general load pattern of transactions to the system/product for a continuous period. Checks are invented during the run to watch if any subtle errors frame up over a period of clock which can disturbs the performance or integrity of the system.

Conclusion:
Soak Testing always provides a measure of systems stability over an extended period of time.

Explain Importance of Testing In SDLC?

Explain Importance of Testing In SDLC?

Testing is one of the important aspects in SDLC because of the following reasons:

1. Testing in SDLC helps to prove that all the software requirements are always implemented correctly or not.
2. Testing helps in identifying defects and ensuring that testing are addressed before software deployment. If any defect is discover and fixed after deployment, then the correction cost will be much huge than the cost of fixing it at earlier stages of development
3. Testing in SDLC demonstrates that software always appears to be working correspond to specification, and the sociology and performance requirements always appear to have been met.
4. Whenever several systems are developed in different components, different levels of testing help to verify proper integration or interaction of all components to rest of the system.
5. Testing in SDLC means that testing always improves the quality of product and project.

Conclusion:
Testing plays an important role in SDLC and apart from that testing also improves the quality of the product and project by discovering bugs early in the software.
And remember testing not only improves the quality of the product, but it also improves the company quality also.

What is Spike Testing Explain it with example?

What is Spike Testing Explain it with example?
Spike Testing is a form of testing process in which an application is tested with unusual increment and decrements in the load. The system is unexpectedly loaded and unloaded. It is done to notice how actually the system reacts with unexpected rise and decline of users.

Spike testing example is given below:
Considering example when you are always checking the result of your exam on K.U.K site means site is suddenly loaded and unloaded and then the IT squad of K.U.K check how the site reacts with unexpected increase and decrease of users than it is spike testing.
Spike testing is mechanism of testing which means when in a web page frequent number of visitor access the page unexpectedly increases to maximum then obviously performance of the page breaks down. So the mechanism of testing a performance about web page due to unexpected sort of traffic on the page is always called as Spike testing.
Spike testing is usually done by unexpectedly increasing the number of loads generated by users by a very enormous amount and observing the dramatic behaviour of the system.

The goal of spike testing is to regulate whether performance will deteriorate, the system will always fail, or it will be able to hold dramatic changes in load.
A spike is a keen rise in the density for a given variable, generally immediately followed by a decrease. This category of transient variation is often notice in the measurement of voltage or you can say current in circuits.

Conclusion:
Spike testing is always used in load and performance testing. These tests are commonly based on real universe or projected workloads with focus on huge load/performance conditions.

Spike testing is handling to check whether a system can handle dramatic changes in load. It is accomplish by spiking the no of users of an application and always produces an excellent way of verifying existing limitations in the current operational environment.

In short we can convey that spike testing is a type of performance testing.

Why do Bugs occur in the software?

Why do Bugs occur in the software?
Bugs are a mismatch between expected result and actual result. Bugs play an important role in software testing.

In little we can say that bugs can be of diver’s types which could be always effective in software testing. Software bugs pose a great threat to the software industry.


Why Bugs Occur in the Software?
Plentiful studies have been on very little projects to extremely large ones and the analysis shows various causes of bugs in the software, few of them are listed below: -

1. One of the extreme causes is the specification. In several cases, specifications are the largest producer of bugs. Either specifications are not written, specifications are not thorough enough, constantly changing or not communicated well to the development team.

2. Another  bigger reason is that software is always created by human beings. They know numerous things but are not expert and might make mistakes.

3. Further, there are deadlines to deliver the project on time. So increasing pressure and workload conduct in no time to check, compromise on quality and incomplete systems. So this leads to occurrence of Bugs.

Some common types of software bugs:
1. Use of Division by zero
2. Infinite loops
3. Result of Arithmetic overflow or underflow
4. Always Exceeding array bounds
5. Always Use of an uninitialized variable
6. Result on Buffer overflow
7. Deadlock
8. Damage or loss of precision in type conversion

Conclusion:
At end we conclude that bugs found earlier in project and product always reduces the fixing cost.

What is Execution Based Testing and Non Execution Based Testing?

What is Execution Based Testing and Non Execution Based Testing?
1. Non execution based testing means the module is always reviewed by a team. The non execution based testing relies on fault detection strategy.

The fault-detecting power of these non-execution based testing techniques leads to rapid, thorough, and early fault detection.

Non-execution based testing is also known by the name static testing or you can say by static program analysis.

2. Execution based testing: - On this execution based testing the modules are run against test cases. Following are the two ways of systematically constructing test data to test a module.


Types of Execution Testing:

There are two types of execution based testing:

1. Black-box testing: It is the sort of testing in which the code itself is ignored; the exclusive information handle in designing test cases are the specification document.

2. White-box testing: It is the sort of testing in which the code itself is tested, without regard of the specifications.

Conclusion:
At end we conclude that Non-execution based testing is also called as static testing and execution based testing is known as dynamic testing.

Thursday 16 April 2015

What Is Unit Testing Explain It with Example?

What Is Unit Testing Explain It with Example?
Unit testing is a confusing part of the software development process. Unit testing involves individually testing unit of code separately to make sure that it works on its own, independent of the other units.
Unit testing is essentially a set of path, test performed to examine the several different paths through the modules. Unit testing is remarkably done by programmers with the help of Unit framework (like J Unit, CPP Unit etc. depending up on the language source code is written). Unit testing is usually an automated process and performed within the programmers IDE.
Unit testing is an action used to validate that separate units of source code remains working properly.

Example: - A function, method, Loop or statement in program is working fine. It is executed by the Developer. In unit testing Individual functions or procedures are tested to make sure that they are operating correctly and all components are tested individually.

Unit testing is a strategy that utilizes the white-box method and concentrates on testing individual programming units. These units are sometimes specifying to as modules or atomic modules and they represent the smallest programming entity.

Unit Testing Example:
Example of Unit testing is explain below
For example you are testing a function; whether loop or statement in a program is working properly or not than this is called as unit testing. A beneficial example of a framework that allows automated unit testing is JUNIT (a unit testing framework for java). XUnit [20] is a more general framework which supports other languages like C#, ASP, C++, Delphi and Python to name a few.

Tests that are performed during the unit testing are explained below:
1) Module Interface test: In module interface test, it is checked whether the information is properly flowing in to the program unit (or module) and properly happen out of it or not.

2) Local data structures: These are tested to inquiry if the local data within the module is stored properly or not.

3) Boundary conditions: It is observed that much software often fails at boundary related conditions. That’s why boundary related conditions are always tested to make safe that the program is properly working at its boundary condition’s.

4) Independent paths: All independent paths are tested to see that they are properly executing their task and terminating at the end of the program.

5) Error handling paths: These are tested to review if errors are handled properly by them or not.

Conclusion: At last we conclude that Unit testing focuses on the distinct modules of the product. 

What Is Integration Testing Explain It with Example?

What Is Integration Testing Explain It with Example?
When individual software modules are merged and tested as a group than it is known as integration testing. Integration testing is sets between Unit Testing and System Testing.

Integration Testing Example:
For example you have to test the keyboard of a computer than it is a unit testing but when you have to combine the keyboard and mouse of a computer together to see its working or not than it is the integration testing. So it is prerequisite that for performing integration testing a system must be unit tested before.

Black-box test case design tactics are the most typical during integration, although limited amount of testing of white box may be used to ensure description of major control paths.


What is Integration Testing?
Integration testing is executed to establish whether the components interact with each other consort to the specification or not. Integration testing in large refers to joining all the components resulting in the complete system. It is further performed by the developer or the software Tester or by both. Example- checking that a Payroll system interacts as required with the Human Resource system.

Integration testing is always sub-divided as follows:
Types of Integration Testing

1) Top-Down Integration Testing: Top Down Integration as the term suggests, starts always at the top of the program hierarchy and travels towards its branches. This can be done in either depth-first or breadth-first.

2) Bottom-Up Integration Testing: Bottom –Up integration as it name implies starts at the lowest level in the program structure.

Some Techniques of integration testing: 
Techniques of integration testing can be given below
1) Top-down testing approach
2) Bottom-up testing approach
3) Big-Bang testing approach
4) Sandwiched testing approach

Conclusion: 
At last we conclude that Integration testing focuses on testing multiple modules working together.

Integration testing (sometimes called the Integration and Testing, abbreviated as I and T) is one of the extensive exercises of the software testing in which particular software modules are merged and tested as a group. 

Difference Between Verification And Validation With Example? | Manual Testing Tutorial

Difference Between Verification And Validation With Example?
Verification and Validation example is also given just below to this table.

Example of verification and validation are explained below:-
Suppose we have the specifications related to the project than by checking that specifications without executing to see whether the specifications are up to the mark or not is what we have done in verification.

Similarly Validation of the software is done to make sure that the software always meets the requirements of the customer by executing the specifications of the project and product.

Note that the customer and end users are concerned in validation of the software.

It is also crucial to differentiate between end users, and customers. Considering example, if you are developing a library monitoring system, the librarian is the client and the person who issue the books, collect fines etc. are comes under the category of the end users.

Techniques or Methods of Verification and Validation:
Methods of Verification

1. Walkthrough

2. Inspection
3. Review
Methods of Validation
1. Testing

2. End Users

Conclusion:
1) Verification and Validation both are necessary and complementary.
2) Both of them provides its own sets of Error Filters.
3) Each of them has its own way of detect out the errors left in the software.
Lots of people use verification and validation interchangeably but both have different meanings.
Verification process describes whether the outputs are according to inputs or not, and
Validation  process describes whether the software is accepted by the user or not.

Note:
If you remain have any problem regarding Difference between Verification and Validation than you can definitely discuss with me in comments section below. 

What Is Smoke Testing Explain It with Example?

What Is Smoke Testing Explain It with Example?
Smoke testing is the surface level testing to certify that build provided by development to QA is ready to accept for further testing.

What is Smoke Testing?

Smoke testing is non-extensive software testing, which makes sure that the most crucial functions of a program work, but not bothering with finer details because in smoke testing we only checks the major functionality of the software.

Smoke testing is performed by developers before releasing the build to the testing team and after releasing the build to the testing team it is performed by testers whether to accept the build for further testing or not.

Smoke Testing Example:
For Example in a project there are five modules like login, view user, user detail page, new user creation, and task creation etc. So in this five modules first of all developer perform the smoke testing by executing all the major functionality of modules like user is able to login or not with valid login credentials and after login new user can created or not, and user that is created viewed or not. So it is obvious that this is the smoke testing always done by developing team before submitting (releasing) the build to the testing team.

Now once the build is released to the testing team than the testing team has to check whether to accept or reject the build by testing the major functionality of the build. So this is the smoke test done by testers.

Why Smoke Testing is known as Build Acceptance Testing?

Smoke testing is also known by the name BAT (Build Acceptance Test) because it establishes the acceptance criteria for QA to accept and reject a build for further testing. So apart from smoke testing it is also very important for software people to know about build.

What is Build in Software Testing?
A build is called as the version of software, typically one that is still in testing stage.

Conclusion:
If the build clears the Smoke test, then it is accepted by QA for further testing, however if the build fails the Smoke test, then it’s rejected and QA reverts back to previously accepted build.

Script is use for smoke testing but does not for sanity so do not get confused. 

What Is Sanity Testing Explain It with Example?

What Is Sanity Testing Explain It with Example?
Sanity Testing is the subset of Regression Testing and it is performed when we do not have enough time for doing testing.

Sanity testing is the surface level testing where QA engineer verifies that all the menus, functions, commands available in the product and project are working fine.

Sanity Testing Example:
For Example in a project there are five modules like login page, home page, user detail page, new user creation, and task creation etc. So we have the bug in login page like on login page username field accepts the less than six alpha-numeric characters which are against the requirements as in requirements it is specified that username should not be below than six characters but as username accepts the less than six characters it is the bug.

So now the bug is reported by the testing team to the developer team to fix it. When the developing team fixes the bug and passed it to testing team than the testing team checks the other modules of the application means checks that fix bug does not affect the functionality of the other modules but keep one point always in mind that testing team only checks the extreme functionality of the modules, do not go deep to test the details because of the short time so this is the sanity testing.

Sanity testing is performed after the build has clear the Smoke test and has been accepted by QA team for further testing, sanity testing checks the major functionality with finer details.

When we Perform Sanity Testing?

Sanity testing is performed when development team needs to know quick state of the product after they have done changes in the code or there is some controlled code change in a feature to fix any critical issue, and stringent release time-frame does not allow complete regression testing.

Conclusion:
Sanity testing will be done mostly after retest (retest will be done after fixing the bug). We always use Script for Smoke but do not for sanity.

What Is Regression Testing Explain It with Example?

What Is Regression Testing Explain It with Example?
When a bug is fixed by the development team than testing the other features of the applications which might be affected due to the bug fix is known as regression testing.

Regression testing is always done to verify that modified code does not break the existing functionality of the application and works within the requirements of the system.
Regression Testing Example - Real and Practical

Example of regression testing with its process is explained below:

For Example there are three Modules in the Project named Admin Module, Personal Information, and Employment Module and suppose bug occurs in the Admin Module like on Admin Module existing User is not able to login with valid login credentials so this is the bug.

Now Testing team sends the above - mentioned Bug to the Development team to fix it and when development team fixes the Bug and hand over to Testing team than testing team checks that fixed bug does not affect the remaining functionality of the other modules (Admin, PI, Employment) and also the functionality of the same module (Admin) so this is known as the process of regression testing done by Software Testers.

What is Regression Testing with its Strategies?

Regression testing is achieved after the bug fixed, means testing the operation whether the fixed defect is affecting remaining functionality of the application or not. Usually in regression testing bug fixed module is tested. During regression testing tester always check the entire system whether the fixed bug make any adverse affect in the existing system or not.

There are mostly two strategies to regression testing, 1) to run all tests and 2) always run a subset of tests based on a test case prioritization technique.

When will we do Regression Testing?
Regression testing is the re-testing of features to make safe that features working earlier are still working fine as desired.

It is executed when any new build comes to QA, which has bug fixes in it or during releasing cycles (Alpha, Beta or GA) to originate always the endurance of product.

Conclusion:
Regression testing will be conducted after any bug fixed or any functionality changed.

What Is Functional Testing Explain It with Example?

What Is Functional Testing Explain It with Example?
Functional testing means testing the application against business requirements. Functional testing is executed using the functional specifications given by the client or by the design specifications according to use cases given by the design team. Role of functional testing is to validating the behavior of an application.

Functional testing is more important because it always verifies that your system is fixed for release. The functional tests define your working system in a useful manner. In functional testing tester has to validate the application to see that all specified requirements of the client whatever we have said in SRS or BRS have been incorporated or not.

Functional testing is always concentrating on customer requirements and whereas the Non-Functional testing is always concentrating on customer expectations.

Functional and Non Functional Test Cases
Functional test cases target business goals and non functional test cases target performance, resource utilization, usability, compatibility etc. Functional testing is a part of system testing.

Example of functional testing is explained below
Considering example if you are functionally testing a word processing application, a partial list of checks you would perform minimally includes creating, saving, editing, spell checking and printing documents.

Types of Functional Testing:

Functional testing falls in to two categories:
1. Positive functional testing: - This testing carry exercising the application’s functions with valid input and also verifying that the outputs are correct.

Example:-
Again continuing with the word processing example, a positive test for the printing function might be to print a document containing both text as well as graphics to a printer that is online, filled with paper and for which the correct drivers are installed.

2. Negative functional testing: - This testing involves exercising application functionality using a combination of invalid inputs, some unexpected operating conditions and by some other “out-of-bounds” scenarios.

Example:-
Again continuing with the word processing example, a negative test for the printing function might be to disconnect the printer from the computers while a document is printing.
What probably should happen in these scenarios are a plain-English error message displayed, informing the user what happened and instructing him/her on how to fix the problem.

Conclusion:
At last we conclude that in functional testing functionality of the module is tested and structure is not considered. It is performed, based on user's perspective. These tests ensure that the system does what users are expecting it to do.
This type of testing means testing the functionality example include input the proper data and checking the output as per the requirement documents.

Why We Use Stubs And Drivers? | Manual Testing Tutorial

Why We Use Stubs And Drivers?
Stubs are dummy modules that are always distinguish as "called programs", or you can say that is handle in integration testing (top down approach), it used when sub programs are under construction.

Stubs are considered as the dummy modules that always simulate the low level modules.

Drivers are also considered as the form of dummy modules which are always distinguished as "calling programs”, that is handled in bottom up integration testing, it is only used when main programs are under construction.
Drivers are considered as the dummy modules that always simulate the high level modules.

Example of Stubs and Drivers is given below:-
For Example we have 3 modules login, home, and user module. Login module is ready and need to test it, but we call functions from home and user (which is not ready). To test at a selective module we write a short dummy piece of a code which simulates home and user, which will return values for Login, this piece of dummy code is always called Stubs and it is used in a top down integration.

Considering the same Example above: If we have Home and User modules get ready and Login module is not ready, and we need to test Home and User modules Which return values from Login module, So to extract the values from Login module We write a Short Piece of Dummy code for login which returns value for home and user, So these pieces of code is always called Drivers and it is used in Bottom Up Integration

Conclusion:-
So it is fine from the above example that Stubs act “called” functions in top down integration. Drivers are “calling” Functions in bottom up integration.