Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Software Test Design

You're reading from   Software Test Design Write comprehensive test plans to uncover critical bugs in web, desktop, and mobile apps

Arrow left icon
Product type Paperback
Published in Dec 2022
Publisher Packt
ISBN-13 9781804612569
Length 426 pages
Edition 1st Edition
Concepts
Arrow right icon
Author (1):
Arrow left icon
Simon Amey Simon Amey
Author Profile Icon Simon Amey
Simon Amey
Arrow right icon
View More author details
Toc

Table of Contents (21) Chapters Close

Preface 1. Part 1 – Preparing to Test
2. Chapter 1: Making the Most of Exploratory Testing FREE CHAPTER 3. Chapter 2: Writing Great Feature Specifications 4. Chapter 3: How to Run Successful Specification Reviews 5. Chapter 4: Test Types, Cases, and Environments 6. Part 2 – Functional Testing
7. Chapter 5: Black-Box Functional Testing 8. Chapter 6: White-Box Functional Testing 9. Chapter 7: Testing of Error Cases 10. Chapter 8: User Experience Testing 11. Chapter 9: Security Testing 12. Chapter 10: Maintainability 13. Part 3 – Non-Functional Testing
14. Chapter 11: Destructive Testing 15. Chapter 12: Load Testing 16. Chapter 13: Stress Testing 17. Conclusion
18. Index 19. Other Books You May Enjoy Appendix – Example Feature Specification

Performing the first test

A major milestone in a project is being able to test at all. Getting a feature working for the first time means that all the code is in place and working in the test environment. It has been successfully moved from the development system and works elsewhere, be that in a full test environment, a test harness, your local machine, or a containerized environment (see Chapter 5, Black-Box Functional Testing, for a discussion of test systems). Getting the feature running opens up a vast array of possible tests.

For instance, if you are testing the signup page of a website, does that page load and accept input? If so, then there are many follow-on test types you can perform. If not, let the developer know that you can’t even start yet.

Carrying out that first test requires many development tasks to be completed. Another easy way to waste time is by testing a feature that hasn’t been enabled yet. You can also solve this with better communication with the development team.

The specification will say what a feature should do (see Chapter 2, Writing Great Feature Specifications), but testers need another level of detail, which is how the feature is configured. Before testing begins, ensure you understand the following:

  • What the minimum version requirements for all relevant parts of the system are
  • What the necessary configuration is
  • How to check that a feature is working

Version requirements are clear enough – you have to be running the version with the new code before you can test. However, sometimes, it is far from obvious which parts of a system are dependent on each other. Or, while the feature is implemented on the 5.3 branch, is it in build 5.3.8 or 5.3.9? A feature may be delivered piecemeal, in which case, exactly which functionality is in each build?

For your very first test, only try the most basic functionality. Does the new screen load, are API calls accepted, or is the new option available? Be clear on which versions you need before spending your time on the first case. Which feature flag do you need to enable for this feature? Which setting needs to be updated, and which file is that in? Again, the challenge is to get all the necessary details from the development team to avoid wasting time looking for them.

If you have all the requirements in place but have found several blocking issues, check with the development team that this feature is ready for testing. The developer should have done enough testing on their system to be confident that it will work for others, but that isn’t always the case. If there are repeated problems, get the developer to recheck their code.

Finally, how can you tell if the feature is working? Sometimes, features are obviously customer visible – is the new web page present, or does the new option appear? Sometimes, however, it’s hard to tell if the new feature is enabled, especially during code refactoring or subtle performance changes. Which log lines should you look out for? What statistics will indicate this change is being used?

Those details won’t be in the feature specification; again, this is an extra level of detail that the test team requires to check on the behavior or even the existence of a feature in a particular build of code.

From a project point of view, getting the first test running is on the critical path. Being able to start testing delays everything else, so make sure you complete that early. Don’t spend ages getting everything in place, for instance, finishing six other projects so that a large team of testers is ready to descend on a feature… only to find that it’s not working, and you can’t test it at all. Check the feature early to make sure the functionality is basically in place, and quickly bounce it back to the developer if they need to make any changes. Once that first test has passed, you can leave it for a while until you can test it properly. But make sure it’s ready first.

Once you have the feature happily running, then the real work begins. Where to start with exploratory testing will be described in the next section.

You have been reading a chapter from
Software Test Design
Published in: Dec 2022
Publisher: Packt
ISBN-13: 9781804612569
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image