> For the complete documentation index, see [llms.txt](https://practical-testing.gitbook.io/home/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://practical-testing.gitbook.io/home/testing-practices/using-test-catalogs.md).

# Using Test Catalogs

### Definition

For practical purposes, Test Catalogs are nearly identical to Test Checklists. They are lists of things to test. They can be more or less specific, optionally phrased as a question:

* **Less specific**: What should happen if I interrupt the process?
* **More specific**: Submit invalid input (`empty field`, `"abc"`) into a required number field

### Taxonomy

Test Catalogs can be categorized across different, often overlapping dimensions:

* **Testing type**: there can be a Test Catalog for usability, as well as security, performance, functional, and more.
* **Technology or software layer**: UI, Backend, API, Database, Microservices
* **Software type**: Desktop, Browser, Mobile, Embedded, etc.
* **Any other, from specific to abstract**: input fields, messaging queues, time & scheduling

As it may become obvious, one may wish to construct a cross-cutting "Security of API inputs" Test Catalog. As such, there can be no single perfect taxonomy or hierarchy.

Nevertheless, this page attempts to organize catalogs in a way meaningful to humans, notably testers and developers. The main top-level categories, found as subpages of this top-level page, are:

1. UI
2. APIs
3. Backend and System
4. Mobile

Additionally, see Cem Kaner's collection of 400 errors below.

### References

1. Cem Kaner's [BBST](https://bbst.courses/) - Appendix: [Common Software Errors](https://bbst.courses/wp-content/uploads/2023/06/Kaner_Common_Software_Errors.pdf) from the Book "Testing Computer Software, 2nd Edition"

{% file src="/files/UMFQB4JzccrEAiVXgTqQ" %}
