Friday, 1 May 2015

Test Case Reviews can be done in three ways:

Test Case Reviews can be done in three ways:

  1. Self-review: It is done by the tester himself who has written the test cases. He can verify whether all the requirements are covered or not by looking into SRS/FRD.
  2. Peer review: It is done by another tester who hasn’t written those test cases but is familiar with the system under test. Also known as Maker and Checker review.
  3. Review by a supervisor: It is done by a team lead or manager who is superior to the tester who has written the test cases and has great knowledge about the requirements and system under test.

Some of the common mistakes which are check during the test  case review process are:

  1. Spelling mistakes: Sometimes, spelling mistake can create a lot of confusions or make a sentence difficult to understand.
  2. Grammar: If grammar is not proper then test case can be interpreted in a wrong way, resulting in wrong results.
  3. Template format: If proper template is followed then it becomes easy to add/modify test cases in future and test case plan looks organized.
  4. Standard/Guidelines: While review process, it is very important to check whether all the standards and guideline are properly followed.
  5. Language used: Test cases should have a very simple language which is easy to understand.
  6. Functionality coverage: It is highly recommended that all the functionality associated with the system under test should be covered so that major defects are not missed.
  7. Replication: It refers to the duplicate test cases removal. It is possible that two or more test cases test the same thing and can be merged into one, this would save time and space.
  8. Redundancy: It refers to uselessness of a test case due to change in requirements or some modifications. Such test cases must be removed.
After checking all the above points, reviewer notes down all the changes/modifications required. Now, either he can have a discussion/meeting with the tester or he can send him the mail with the changes noted so that tester can go through them and make all the necessary modifications.

Points to remember/Tips while reviewing test cases:

  1. While reviewing test case, it is better to have a copy of SRS/FRD with you for the reference.
  2. If you are not sure about any test case or expected result, it is better to discuss with the client or your supervisor before making any decision.
  3. If possible then try to execute test cases on the SUT (System Under test) to have a better understanding of the results and execution steps.
  4. It is always better to have a face to face meeting with the tester to make him understand all the review feedback properly.
  5. It is recommended to follow version numbers in review process. For e.g. if you have reviewed a test case plan for the first time then make it v.1, after tester has made all the changes then after re review, the version would be v.1.1. In this way you will have a better idea which one is the latest and also you will have all the record of the changes made to the plan.
Test case review process sometimes helps in Defect Prevention. For e.g. if a developer is reviewing test case plan while writing his code, it is possible that it would help him in realizing the areas which could have the maximum defects and he can write his code in a more efficient way and hence, avoid any major defects.

How to become a Software Testing Expert in your Software testing career?

This is a guest article by Author “Swati Chaudhari”  She is currently working as QA Lead in the IBM, Pune. She is having total 7+ years of experience in the IT industries.
In today’s article we are seeing “How to become a Software Testing Expert in your Software testing career?“. There are many strong reasons to become a software testing expert so let’s get started.
First of all latest discuss “Who is a software testing expert?” Different people has different opinion when somebody says an expert, however I am thinking an expert is very highly skilled professionals who is able to produce great results.
The next question is “Why Become An Expert?” There can be reasons of prestige are greater professional satisfaction but in my opinion biggest reason of becoming an expert is that it ends up giving you more money, the main reason behind this is that it provides you more and better work opportunities and it provides opportunities to make more money.
The next question is “How to Become an Expert?” There are two steps to become an expert, first you should become very highly skilled in software testing and the second one is you should build your reputation in software testing industry.
Depending on your ambitions you may want to become an expert in your team, department, unit, company, industry, even in your country or the whole world. Depending on you do things and your efforts to become a software testing expert you may become an expert in any of these ramps.


Let’s see the first step in how to becoming a very highly skilled in software testing. There are some things you should do in order to become highly skilled in software testing. The first of all make a long term commitment to software testing, becoming an expert not an overnight process. So you have to make a long term commitment to getting very highly skilled in software testing. Then learn on a daily basis, there is a wealth of new articles, new blogs, discussions on software testing, videos on software testing that published every day. So make it a point that you learn something new about software testing every day. 

Simply learning new things in software testing is not sufficient; you should also practice testing every day. Then whatever you have learn and whatever you have practice, try to integrate that your existing knowledge.
When you work on projects to provide big values or results to your clients and always focus on the results, understand why clients want their systems tested and what will give the biggest return on their investment in you.

How to Become Highly Skilled in Software Testing Professional?

When you are working in projects, some of the things that can help you produce results for the following:
  • Review the system requirements often, that will give you a better class of the system requirements and also review the changes to the system requirements are there any changes to system requirements and you tested immediately to and you may find the better bugs.
  • Design and test with interesting test data, you can use several test design techniques like equivalence class partitioning and boundary value analysis, state transition diagrams, pair testing and so on and that will give you better results in your testing.
  • Negative Testing: Don’t be satisfied with testing positively but also test negative to see if negative inputs are given then the system is able to handle negative inputs correctly.
  • Test external interfaces and system configuration settings:
  • Instead of just focusing within the system make it a point to test the external interfaces and interfaces to other system. So these other systems can also change and the system you are testing should be able to communicate to and fro with these external systems correctly. One of the areas that are not tested very much is the system configuration settings. So you can make it a point to test out this system configuration settings and that lead you to find better bugs.
  • Generate ideas from prior bugs; you can also generate ideas from the prior that have been found in the system used to test ideas for better testing.
  • Create a To-Do list as you test for later testing, when you are testing you may get some ideas, so have a running to do list and when you finish your test you can go back to your to do list and do those test also.
  • Also test outside of your area, You don’t be satisfied with just testing the area that is assigned to you but also test outside your area that way you’ll have a bigger scope in which you find out more severe bugs or bugs that are across the different areas of the system.
  • Test at different speeds: One technique that you can use as to test at different speeds instead of just going through the test very rapidly slow down, when you slow down you will start to observe other anything that you were not observed before. That way you can do a more through testing.
  • Keep track of your bug reports, always keep track of the report the you logged, so that you can learn more from them.

Apart from these points you can bring your own methodology to provide the big value in testing. That is when you are testing in your project. So would you do if you’re not any project, still you learn everyday and you test every day? You can have a favorite or a pet project that you can test every day or you can contribute to any of the large number of open source projects out there and contribute to them with your testing. But make sure that you learn on a daily basis and practice testing on a daily basis.

How to build you reputation in Software testing?

The next step to becoming Software Testing Expert is to build your reputation in software testing. It is not sufficient that you are highly skilled in software testing, other people should know about but specially the people who can provide you better opportunities and better money. You also need to build a reputation in software testing. Here are the ways to accomplish or build your reputation:
  • Update your professional profile: if you are going to aim to become a software testing expert within your company, you should update your professional resume that is within the company updated with all the different skills you have. You’re different achievements or accomplishments, the results that you have provided. If you are looking to become a software testing expert like in your industry or even globally then you should update your public professional profile and add the different skills and your achievements over there.
  • Communicate often: It is not enough that you know a lot about software testing, you know how many different insights about software testing, and you should also share these insights with other people so that they also know that there is a lot to be learn from you in software testing.
  • Nurture your Supporters: The next thing to do is to nurture your supporter as you start to become a software testing expert you will find that there are some people who genuinely like you and who promote your work, who promote the good things that you do, so identify these people so that they can provide testimonials for your very high level of scale in software testing, provide you recommendations or generally spread the word about your accomplishments to others.
  • Go for difficult projects: then don’t shy away from difficult projects, so always volunteer for the more critical or more expensive or longer projects with more difficult projects. This will enable you to put all your skills to the project and then you will learn a lot from his projects and your contribution to such projects will be admired more by the people.
  • Share your Knowledge: If you have developed your own tools for your own software testing techniques or some documents don’t keep it to yourself. If you want to become a expert in your team then just share your tools, share your documents with other members of the team if you want to become software testing expert in your company.
  • Be interested in other projects: If you want to become an expert in your company, don’t just be interested in just your own project but also interested in other projects. There may be opportunities for helping others with your insights and your guidance.
  • Look forward to future: Always look forward to the future and try to find out what is happening in the software testing industry which way the industry is going. For instance years ago, projects use to execute in Waterfall models, however nowadays things are changing rapidly, so nowadays agile software development life cycle is more popular in software industry. You should check what new tools are coming in the market, what are what is the new process in software testing that you can prepare for the future also.
  • Be open to criticism but always respond logically: When you are becoming a software that some people may like to challenge the things that you say or some people may want to question you so always be open to criticism and this is a very common part of becoming an expert in software testing. But make sure that you always respond logically, build your case, provide data and recommend certain things on why you don’t recognize that certain things and respond logically.
  • Write and Speak: Depending on your aim towards the software testing career you should take necessary steps. If you want to grow in a software company then you can write in the company newsletter and if you have to speak then in the company you can speak in the training, in meetings. You can start your own blog if you want to become expert in a bigger. If you want to become expert globally in software testing then you can speak at the different conferences. In the initial career you may not get an opportunity to speak the bigger conferences but you can start with small and get opportunities to speak. So whenever you get the opportunity to write and speak to use those opportunities build your reputation in testing.

Mobile App Testing on Cloud ...............

1) Mobile App Testing on Cloud:

To test mobile applications use of the Cloud testing is one of the most successful choices. Using Cloud based approach you can achieve the Native and Hybrid Mobile Apps automation testing. This automation testing approach can be used when long-term automation testing is to be carried out over multi-platform and predefined set of devices. Cloud-based automated solutions are highly effective as they are offered as a unified package. Once the deployment is done on cloud lab then you just needed a connectivity to cloud lab to kick off you testing from anywhere.
Using Cloud based approach will reduce the time to setup the test environment which generally cause the project delays. The cloud provides a pre-configured, highly synchronized architecture, strong server configurations, licensing, and testing resources. As a result reduced time-to-market and augmented testing competence. So defects get rapidly reduce which may occurred due to the faulty configuration of test environments. It help to increase the quality of application.
One of the great advantages of cloud approach is the amount of scalability with real time results, which means defects can be analyzed while the tests are running.


Mobile Application Test Framework


2) Lab-based Approach:

In Lab-based automation testing you need to set up different tools in a testing environment and leverage simulators or physical devices to automate testing using different tools. In the market there are different capability tools are available for a lab-based approach like EggPlant, Jamo, See Test, ZAP and SilkTest etc. These automation tools can be used for continuous automation testing or to accomplish regression testing functionalities. Few of them also supports the non-functional testing features related to mobile apps.

3) Open Source/Platform-specific Tools:

In QA automation testing strategy the testing to check platform-specific tools reliability should be carried out at least once. There are different mobile testing tools available in the market like Appium, Calabash, Frank, MonkeyTalk, iOS UI Automation, Robotium, iOS-driver, Ui Automator, KeepItFunctional and Selendroid etc. But before starting testing on Open Source/Platform-specific Tools you should have added programming skills in your team. Also the mobile device simulators and emulators can be used for testing.

Advantages of Mobile Test Automation:

  1. Same test scripts can be executed repeatable
  2. Help to increase the testing efficiency
  3. Help to enhanced the regression tests case execution
  4. Multiple test cases can be executed with less time
  5. Better utilization of time by running test script over 24/7 time.
  6. Test scripts can be executed parallel on several devices at the same time.
  7. Once the test scripts are ready, human resources do not require manual interruptions to execute the scripts.
  8. Same test cases can be executed across different mobile platforms, so the scripting time can be minimized and same time can be used for more test coverage.

Conclusion:

In this article we conclude following few points:
We need to think of perfect automation strategy to execute a successful QA and helps to get mobile application on time and on budget.
We need to find the mobile testing automation tool which can help you to execute the same test script across platforms. As a result the scripting time can be minimized and same time can be used for more test coverage.
We need a mobile automation tool where you can configure a test setting for different device to test out the application over variety of connectivity modes.
Tool should be platform independent and allow you to create true end-to-end testing with a single test script possible.

What is Mobile Application Testing and Why it is needed in quality management?

In the fast growing world the mobile phone is not only a device to make and receive telephone calls but also a multipurpose personal gadget. There are more technological improvement and the propagation on mobile devices with different Operating Systems like Apple iOS, Andriod, Windows Phone, Blackberry, Symbian etc. In the fast growing world there are new challenges for hardware manufactures to stay in the competition. Also the application developer needs to deliver best Apps over variety of platforms within a quick time.

What is Mobile Application Testing and Why it is needed?

In highly fragmented and competitive global market the mobile development cycle is of short period. For the vendor’s equanimity and overwhelming task to ensure long term success, the APP must be tested over different combination of platforms, operating systems and networks before launching to global. In addition to this, similar to Functional testing the non-functional testing like Security testing, usability testing etc. also plays an important role. The effective test planning in Mobile Application testing makes helps to improve the quality of Mobile Apps.
In this article we are exploring how to achieve the mobile application quality and get better competence on mobile testing. We are also learning on what Mobile Automation is and what the challenges in Mobile Application Test Automation? Many testers are confused about Approaches for Native and Hybrid Mobile Apps, so this discussion will shed some light on this as well. In the market there are different varieties of Mobile Automation Tools available, however each mobile automation tools has its own advantages and disadvantages. As a result, we will see “What are the Key Principles for selecting the right Automation tool for Mobile Apps Testing?”
The mobile automation testing is extremely efficient approach to test the Mobile Applications which gives us the considerable returns if you choose right tools for Mobile Test Automation.

Key Mobile Testing Challenges in Mobile App Test Automation

The primary factor that determines an automation tool’s success is its ability to work across platforms and technology stacks. The following challenges influence automation success:
For all companies the Mobile applications become a “game changing” force in all industries. Let’s look at what all challenges introduced these game-changing technologies:

1) Planning of Quick Rollouts:

The companies are looking for the golden business opportunities in unique Mobile apps and expecting rapid rollout of quality application or improvements and bug fixes if application is already launched. They want to push the applications in the market as quickly as possible to avail the benefits of market boom mobile sector. As a result the QA testing cycle which generally takes two to three weeks depends on the complexity and the size of the application is now reduce to half or one week. Due to clutch in the timelines the QA it is very difficult to problems if mobile applications don’t meet the customer expectations.

2) Multi-Platform Compatibility:

With the propagation of mobile devices like iPhone, iPad, Smartphones, Tablets, Windows Mobile and wide range of Andriod devices etc, mobile application providers have to provide the multi platform compatibility to reach their audience. In the mobile industries there are no any industry standards for Operating Systems or device hardware, so testing of apps over variety of devices is not a simple task. So here we cannot 100 % say that test cases which passed for one device are also passing for other devices, even if device from same family.
There are many combinations while testing mobile apps like Screen resolution, memory sizes, battery, Operating System etc. The creation of separate test case and execution on each device can be the most expensive and time consuming task.
The mobile application market is rapidly growing with a demand of quality product with no any excuses on errors and security holes.

3) Dealing with a variety of connectivity modes:

One more important parameter to be considered in the mobile testing is the “Modes of Connection” to access the application. This step can be ignored if the internet connection does not required for application under test, however almost all applications requires internet so this test case needs to run over different connections like WiFi, 3G, 4G etc. Even you test the application you will face the wide range of applications over different connectivity options. While planning you QA Automation testing strategy you need to consider connectivity modes which are equally important.

4) Creating end-to-end tests:

The mobile market demand is to integrate the mobile applications with all platforms and expected to flawlessly access the data on mobile and other platform like Web site. The end to end test cases should be work as expected on mobiles. Consider a example where order is placed from the mobile device and same can be from the log in into Web site. These mobile apps are expected to work on front end and back-end systems.

5) Mobile Testing Tool Availability / Selection of Mobile Automation testing tools:

We have many proven tools available for object recognizing screen object on web. For the mobile devices there is range of automation testing tools, however choosing of right automation tool for testing plays an important role in QA strategy planning. (In next article we will see the list of good automation tools.)

What is Bug/Defect Triage?

What is Bug/Defect Triage?

Once the test execution of project is initiated by tester and started reporting the bugs then the bug triage meeting should be held based on the bugs reported by the tester. The attendee for Bug Triage meeting should be QA Lead, Development Lead and Project Manager. Test lead should make easy bug triage meeting with the bug tracking system; however the prerequisite for Bug Triage meeting is bugs are logged under Bug Tracking System for triage.
The Bug Triage meeting should be facilitated by QA lead and this meeting should be conducted in testing phase of the SDLC. The frequency of the meeting is vary from projects to projects and it is to be decided based on the how many bugs are logged by the testers and how many new bugs are being logged by the testing team. The aim of this meeting is to take action on most important or critical bugs first and not concentrated much to fix non-important bugs first.
Before the meeting the QA lead should send the report to all attendees of the meeting which are newly reported or not yet triaged bugs. Therefore the triage meeting attendees will get the current status of the non-triaged defects and based on this input bug triage meeting can be started. In this meeting attendees also discuss about the status of the bugs triaged in the prior meetings or if any queries facing by team members. They can also re-evaluate the severity and priority of earlier evaluated defects as well.
In the Bug triage meeting QA lead should have access laptop or desktop access to defect tracking system. Each and every defect is discussed in this meeting and decides the priority and severity of the defect. All discussion should be captured and add appropriate comments in the defects. If any defect is more complex then developer can also attend this meeting to understand the risk and complexity associated with the defect. The meetings attendees are decide which defect is to address first and which can wait till for future release.

What should be involved while triaging a bug:

1. Check if the enough information is provided in the defect by tester in such a way that developer can understand the defect without any problem. If not then triage team can reassign the defect to reporter and ask for the additional information which helps out to understand the defect.
2. Check if defect is logged under correct project and module.
3. Many companies are used to review and assign the priority to defect, however good triage process is to assign or modify the defect severity as well. Check if appropriate “Severity” and “Priority” fields are marked for the bug.
4. Bug Triage Meetings are project meetings in which open bugs are divided into categories: bugs to fix now, bugs to fix later, and bugs we’ll never fix.

How to decide which defect should be address first in SDLC?

When there are lots of new defects logged by testers then developer should not fix the defects randomly. Now you have question in mind that which defects should be fixed by developer first. So answer to this question is based on the Priority and Severity assigned to bug. There are few factors which considered in the Bug Triage, if the project is in early stage of SDLC then it might be possible to address lower priority and high priority defects as well. However if the project nearing to completion stage then Bug triage team should address first High Priority defects and the defects do have low risk to fix because fixing complex defects involved detailed testing which may introduce regression issues.

Bug triage meeting roles & responsibilities:

  1. QA Lead (Test Lead)– Scheduled bug triage meetingand send meeting request for attendees.
    – Prepare a defect report and send it to all attendees before meeting started.
    – Give a hand in assigning Priority and Severity of the defects.
    – Help out in meeting to understand and formative the Root Cause of defect.
    – In the defect tracking system Manages, all defects should be updated with comment if required any inputs to developers.
    – Every meeting note should be captured and send it across to meeting attendees.
  2. Development Lead
    – Help out in meeting for prioritization of the defects.
    – Discuss and put the level of defect difficulty in plain words and explain the risk involved with the defect.
    – Allocate of defects to relevant developerfor fixing.
    – Update the defect resolution and add development notes if any information is missing or any relevant information needs to provide to developer.
    – Give a hand to analyze the root cause of defect and it resolution if any.
  3. Project Manager
    – Help out in meeting for prioritization of the defects.
    – Whenever required send the MOM (Minutes of meeting)
    – Issue list tracking
    – Talk about the next iteration release date for QA.
    – Ensures that appropriate User Representatives are invited to the bug triage meeting

What is Exit Criteria of Bug Triage Meeting?

Each and every unsigned defects is discussed in the bug triage meeting and assigned Severity and Priority of defects. The next step will be setting up the assignee of defect. Each and every action will be tracked by QA lead in the Defect Tracking System. End of the every bug triage meeting Bug Triage Metrics will be prepared and share with meeting attendees.

Conclusion

When the new defect is logged by tester then every defect should be triaged in the Bug Triage meeting. In this meeting bugs are discussed amoungs meeting attendees and assigned in the defect is category like bugs to fix now, bugs to fix later, and bugs we’ll never fix.  In several job interviews there are several questions are asked on Bug Triage process to ensure that tester understand the and clear picture of such testing concepts.

What Qualities Make A Software Tester To A Good Software Tester?

When you want to excel in any field then you should be passionate about what you do. If you want to grow in software testing as a carrier then you should read and stay updated with testing updates, engage with your fellow testers, attend testing conference. The capability of great tester is gained over the period of experience however you can grasp the characteristics of good tester by following 

If the test data inadequately designed then such test inputs are not cover the all possible test scenarios, which impact the quality of the software application under test.
Test data can be documented in any manner – Excel Sheet, Word Document, Text file and many-more. The data stored in an Excel Sheet can be entered by hand while running test cases or can be examine automatically from files (XML, Flat Files, Database etc.) using automation tools. Using test data, you can verify the expected result and the software behavior of invalid input data. It is also used in order to challenge the ability of the application to respond to unusual, extreme, exceptional, or unexpected input.
In case of domain testing; test data will be created in a systematic way but in other case like; high-volume randomized automation testing – it is not much systematic. Most of the time, test data is to be given by the tester or by a program or function that helps the tester. Test data can be recorded for re-use in the application.
Limitations: It is really difficult to create sufficient test data for testing. The quantity of an efficiency data to be tested is determined or limited by time, cost and quality.

After knowing the importance of test data, let us see some guideline to create test data to test complete application functionality:

1) The best test data: Try to create the best data set that should not be so long and identifies bugs of all kind of applications functions but does not exceed cost and time limitation for preparing test data and running tests.
2) Unlawful data set-up: To check data correctness, create wrong data set format. This invalid or dishonest format of data cannot be accepted by system and generates an error message. Check that, it has to generate an error message.
3) Boundary condition data set: Data set holding out of range data. Recognize application boundary cases to organize data set that will cover lower as well as upper boundary conditions.
4) Correct data set: Create correct data set to ensure that an application is responding as per the requirement or not and to know that the data is correctly saved in a database/file or not.
5) Incorrect data set: Create incorrect data set to confirm application behavior for negative values, alphanumeric string inputs.
6) Create large data set for performance, load and stress testing, and regression testing: Large amount of data set is required for these kinds of testing. To do the performance testing for the DB application that fetches/updates data from/to DB table – the large data set required.
7) Blank or default data: Execute your test cases in blank or default data set environment to check that correct error messages are generated or not.
8) Check the corrupted data: Fill a bug after correct troubleshooting. Before running test case on a particular data ensures that the data is not corrupted.
Create duplicate copy of the valuable input data: In so many software testing cases, numbers of testers are involved in releasing build. In this situation more than one tester will be having rights to access common test data and each tester will seek to operate that common data according to their own requirements. So, the best way to keep those data safe while keeping the personal copy of the same data in any format like; Word file, Excel file or other photo files.
Using these many ideas create unique data sets for every test environment to make sure the total test coverage.

Conclusion:

The test data is plays an important role while executing the test cases & designing of proper test data is a main part of application test environment. Complete test data set makes testing easier for tester – they cannot say that the complete data is not there to test application and to find bugs. Also, tester can create their own test data for testing that should be ideal in terms of cost and time. Tester should create his/her own test data with addition to the data from the production. The guidelines provided in this article will ensure the complete functional test case coverage.
I want to ask one question to you “Have you face any difficulties while testing application related to incomplete test data” then please share you experience on how you manged to create test data by your own.

Difference between Black Box Testing and White Box Testing

            I have heard from reader about few terminology of Software Testing. Amongst the list readers asking about the what is meaning of Black Box and White Box testing. They were totally confused on the this Software Testing terminology and who is responsible for doing this type of testing, when it is carried out and what all inputs required to perform such types of testing.

1) Boundary Value Analysis (BVA):
Boundary Value Analysis is the most commonly used test case design method for black box testing. As all we know the most of errors occurs at boundary of the input values. This is one of the techniques used to find the error in the boundaries of input values rather than the center of the input value range.
Boundary Value Analysis is the next step of the Equivalence class in which all test cases are design at the boundary of the Equivalence class.
Let us take an example to explain this:
Suppose we have software application which accepts the input value text box ranging from 1 to 1000, in this case we have invalid and valid inputs:
Invalid InputValid InputInvalid Input
0 – less1 – 10001001 – above
Here are the Test cases for input box accepting numbers using Boundary value analysis:
Min value – 1
0
Min Value
1
Min value + 1
2
Normal Value
1 – 1000
Max value – 1
999
Max value
1000
Max value +1
1001
This is testing techniques is not applicable only if input value range is not fixed i.e. the boundary of input is not fixed.
2) Equivalence Class Partitioning
The equivalence class partition is the black box test case design technique used for writing test cases. This approach is use to reduce huge set of possible inputs to small but equally effective inputs. This is done by dividing inputs into the classes and gets one value from each class. Such method is used when exhaustive testing is most wanted & to avoid the redundancy of inputs.
In the equivalence partitioning input are divided based on the input values:
  • If input value is Range, then we one valid equivalence class & two invalid equivalence classes.
  • If input value is specific set, then we one valid equivalence class & one invalid equivalence classes.
  • If input value is number, then we one valid equivalence class & two invalid equivalence classes.
  • If input value is Boolean, then we one valid equivalence class & one invalid equivalence classes.