Software testng: Equivalence classes for GUIs?

400 Views Asked by At

I have a program I need to make equivalence classes and do boundary-value analysis for. My issue is that all we have talked about in my course is making equivalence classes for programs that take direct input of integers or strings.

The program is a simple to-do list with a calendar. The only keyboard input from the user is a string for the task, and integers for the time of the reminder.

I know how to do the integers, but the string seems to have a ridiculous max size that I can't find out. Also there can be any symbols and such for that input.

The only other aspects of the program are buttons that let you choose the date and drop down menus that let you choose the month and year.

How can I make equivalence classes for buttons and drop down menus, let alone boundary-value analysis? Also how do you make equivalence classes and do boundary-value analysis for strings that seem to have no invalid input?

1

There are 1 best solutions below

0
On

Here are some examples that relate to your software (simple to-do list):

  • Some invalid inputs examples and possible boundaries:

end date is before start date, end time is before start time, to-dos in the past (is that allowed? how long ago in the past?), to-dos outside the range (I assume you have a range in the future?) to dos that start and end at the same time, reminders that go beyond the start time, reminders that are in the past, reminders that overlap with the start time

  • Invalid inputs for buttons (some examples):

If your todo requires a title for example, that the "add" button shouldn't be active when the title field is empty, so if you press it you test it with an invalid input. It will be easier for you to come up with more examples when you have the UI, I can only guess :) but there are always different conditions that enable or disable UI elements. You can derive your boundary values and equivalence classes from those.

  • About boundary value analysis for strings that seem to have no invalid input:

There's always some invalid input, if nothing else an empty string is probably invalid, so that already gives you one boundary value (empty string). How about different character sets? Or arabic language for example, which features right-to-left writing?