2

I need to test a web application. I dont know how to do automated tests so I want to do manual tests. However I would like to do the tests with some formality and quality. For this context it seems that a good approach for manual tests is to write test cases with the test steps and the expected result and do the test manually, right?

But, for example, I already have use cases and test cases seems similar to use cases.

For example a use case to create a new post is like:

Title: Login in the system
Description: The system should allow the user to login in the sysetm using his credentials.
Ator:   User
Pre-conditions: The user has an account in the system.
Trigger: The user indicates that wants to login in the system.
Success Scenario:
    1-  The system redirects the user to the login page.
    2-  The user fields the fields (e-mail and password) and submit the information;
    3-  The system validates the form;
    4-  The system starts a session for the user.
Alternative Scenarios
    Invalid Email
        1-  The system presents an message informing that the email field was filled incorrectly
        2-  The flow continues in step 2 of the success scenario.
    Mandatory fields not filled
        1-  The system presents a message informing the user that he needs to answer to the mandatory fields
        2-  The flow continues in step 2 of the success scenario.
    Invalid credentials
        1-  The system presents a message informing the user that the introduced credentials were not valid.
            2-  The flow continues in step 2 of the success scenario.
Post-condition: The user logins in the system.

Is not possible to create a test case from this use case? Or is better create a separate test case? For example something like below, however, like below seems similar to use cases. Also like below dont have the alternative scenarios, to test if the correct error message appears for each case.

Title:  Login in the system

Description: A user with an account sould be able to login in the system

Precondition: the user must already be registered in the system

Test Steps:

Navigate to the login page
In the ’email’ field the user enters his email
In the password field the user enters his password
Click the Login button.

Expected Result: The user is redirected to the homepage
  • Are you asking if it's okay to derive test cases from use cases? – trashpanda Jul 25 '18 at 12:46
  • Thanks, I dont have much experience with testing. So i was reading something about testing and about manual testing and I would like to know if is a ok approah write test cases and execute that test cases manually. So this was a question. Other question is because it seems that the use cases are similar to test cases, as I have in the question, so I dont know if is necessary to write test cases or just use the use cases. – John Jul 25 '18 at 12:49
  • 1
    The test case you provided in your question is much easier to read than the Use case, this is good. You should have three more test cases to encapsulate the alternative scenarios. If you want formal testing then all known paths through the ‘Login page’ need to be documented in the test cases. A collection of small readable test cases are much better than one large test case covering the same testing area. – John Burley Jul 25 '18 at 13:46
1

John, Welcome to the SQA and Testing StackExchange community.

Testing a web site is much more that specifying a particular style of test case to use (or document your testing). If you are given use cases, then treat them as test cases. I would be careful of the ROI of re-writing them into test cases. As @trashpanda said look to your employer to set the level of requirements needed by the test case documentation.

One technique that I have used to get good testing coverage of a web page is to make a list of all testable items on each web page. Then make sure that I have test sequences (documented in the test case or not) that cover those items. This gets you part of the way there.

Then do Exploratory testing (not following a test script) of web page to check for unexpected results, which may or may not be errors of the page. And may not be in the use cases.

Look to Cem Kaner, James and Jon Bach (and others) for descriptions on Exploratory testing.

Another aid in testing is to have a good list of things to tests. One of my favorite is 'Test Heuristics Cheat Sheet Data Type Attacks & Web Tests' http://testobsessed.com/wp-content/uploads/2011/04/testheuristicscheatsheetv1.pdf

This little cheat sheet by Elisabeth Hendrickson, James Lyndsay, and Dale Emery will help you to stay on track to testing better and with more formality.

Very important is don’t get bogged down with the form of the test cases and forget that they need to be functional.

All the best to you, remember to follow-up with any additional questions you have. This helps everyone on our SQA StackExchange site think these things through!

  • While I applaud your positive tone, I'm not sure it's appropriate to remind him to post his results back to StackExchange. This is a Q&A site, not a discussion forum. – user246 Jul 25 '18 at 13:59
  • @user246 Good point! I have modified my answer. I am attempting to encourage people to be involved with our SQA StackExchange site, since it’s still in a beta Phase. – John Burley Jul 25 '18 at 14:21
3

Yes, it's okay write test cases and execute them manually. Not everything can be (or should be) automated, and manual / functional testing is where most QA start.

Regarding your second question, use cases are indeed similar to test cases. The main difference being that the use case defines the journey (i.e., using the system as a user would) and the test case defines the steps taken.

If you're creating test cases for the first time, base them on the use cases for maximum coverage (and to make sure all scenarios are considered), and include the Expected Result for each step. If the Actual Result is different when you're executing the test, then you have a potential issue to investigate.

The level of detail will depend on your employer or their requirements. My previous employer wanted test scripts detailed enough for a non-technical person to execute, whereas my current employer doesn't.

  • Thanks, so in your opinion the test case and use case above for a user login in the system are ok? And that is not necessary in the test case have the alternative scenarios, because if the expected result occurs it means that there were no errors? – John Jul 25 '18 at 13:05
  • John, your example use case is better in that it considers what should happen if common errors occur. There's nothing wrong with your sample test case in itself, but I'd want to see another set for those error conditions. You may or may not keep them separate, as you prefer, but you can't just test what should happen when all goes well, that is incredibly limited. – George M Jul 26 '18 at 0:37
0

You should also have a look at 36 days of web testing by Rob Lambert. You would get an idea of what you are missing.

Later, focus on the Heuristic Test Strategy Model by James Bach.

Links: http://thesocialtester.co.uk/wp-content/uploads/2012/10/36DaysOfWebTesting.pdf

https://www.satisfice.com/tools/htsm.pdf

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.