I use to develop test cases in the traditional way by defining the following for each test senario:-

1. Test case name. “View Current Transaction”
2. Pre-condition. 

	* Valid “Username & password”
	* The system is up and running
3. Test Case Steps
	* Login to the system.
	* Click on “manage account”
	* Click on “view current transactions”
4. Expected Results
	* The system should display the user transactions starting from the most recent one.

And I have to create separate test case for any exceptional scenario such as ; when a transaction failed, transaction require approval , etc….

The above approach will work fine , but it require a lot of time and the test cases document will be very large (depending on the project size of-course).
So is this the right approach to document test cases ? or there is a more agile approach which lead to the same results but in less time and efforts ?
Thanks