Right now my company uses a large excel spreadsheet to create 'tests' for surveys we develop. Each column is one test through the survey. Each field is the answer you should choose. While this system does work and is quite thorough 99% of the time. It is very time consuming. I'm curious about what other types of systems or documentation other people use when creating test cases.
There are two very distinct aspects to this: Automated Testing and Test Case Management.
Some organizations that invest heavily in Automated Testing find that they don't actually need a Test Case Management tool because all their testing can be seen by looking at the automated test cases and their structure and organization.
Test Case Management
This is where the list of test cases and associated documentation is stored. This usually refers to test case management systems such as TestLink, TestNG, IBM Rational Quality Manager, HP Quality Center, QASymphony qTest
In some organizations test writing activities themselves (tickets) will be managed through a system like Jira, Trello or Pivotal Tracker. Other organizations may simply prefer to use a bare-bones tool like Excel or even just plain text files to avoid the overhead of using a higher level system to manage test cases. The choice will depend on your situation.
This is about actual automated testing using programmatic tests that you write, either backend or front-end UI tests. This often means using frameworks such as selenium, capybara, etc. and languages such as Ruby, Python, Java and C# Ultimately this is the best way to address the time-consuming issue. If you consider the number of cases X the number of devices and browsers, you quickly get to a non-sustainable point.
In addition to the backend programmatic solution, there are also a number of gui tools that can be suitable for non-programmers who are coming from an 'excel type' solution, such as the seleniumIDE (A firefox extension) or a cloud service like GhostInspector which lets you build tests in a web ui with point and click. You'll still need to learn about css and identifying elements and the like.