user419017
user419017

Reputation:

Solutions for testing entire features of an app

EDIT: to clarify - I am asking for advice on both unit testing and user interface testing.

Currently, I don't use TDD. While I am developing an application I am constantly testing what I am working on. Testing iteration could be anything from minor function changes to entire models. I try not to code too much before I test. I like instant feedback.

Of course, with experience I can see potential problems or bugs occurring as I'm coding.

BUT, after an application is complete I will usually go through the entire app on the frontend and ensure all functions are working as expected. This means literally everything. Every add/edit/delete, sort, filter, even broken links and such.

This can take a lot of time sometimes but it does ensure my work hardly ever contains bugs after deployment.

However, I'm looking for a more standard solution. What do experienced developers do? Assume for a moment I am a single developer and so do not have a testing department etc

Do you hire beta testers (no good if app is sensitive to public use)?

Is it viable to build a series of 'general' unit tests which can for example test ALL sorting, filter functions. One for testing ALL add/edit/delete functions.

Love to hear your feedback. Will be changing the way I develop based on suggestions.

Upvotes: 0

Views: 85

Answers (3)

tawfekov
tawfekov

Reputation: 5122

Of course as David said : Unit-testing for models and helpers, of course.

and I need to add Selenium

Selenium is a robust set of tools that supports rapid development of

test automation for web-based applications. Selenium provides a rich set of testing functions specifically geared to the needs of testing of a web application. These operations are highly flexible, allowing many options for locating UI elements and comparing expected test results against actual application behavior.

which is amazing :

  1. watch the 2 min intro http://seleniumhq.org/movies/intro.mov
  2. How Selenium Works
  3. Testing with PHPUnit and Selenium

Upvotes: 4

David Weinraub
David Weinraub

Reputation: 14184

Unit-testing for models and helpers, of course.

But you can do unit-testing on "page-requests", as well. See, for example:

Content with Style - Unit testing controllers with Zend Framework

That's a step towards integration testing. But for issues of layout and visual aesthetics, you're pretty much stuck with walking-through each request with your browser.

Upvotes: 1

Tommaso Barbugli
Tommaso Barbugli

Reputation: 12031

Usually what you code works is not that the problem, very nice if you also write tests for it. The problem is that you need to test the integration of your changes every time you make commit. If you like instant feedback,as I do, probably you should have a look at Continuous Integration. I've started using Hudson as CI server and I am not regretting it!

Upvotes: 0

Related Questions