Steven Sinofsky wrote a nice post about software testing: http://blog.learningbyshipping.com/2014/09/25/beauty-of-testing/
Steven defines testing as “verification that a product does what it is intended to do and does so elegantly, efficiently, and correctly” and as “the conscience of a product“. Does it sound about right? Yes, usually software testers verify that software works as defined in specification/requirements/user stories/whatever. But it is not all that can be done. It is quite easy to build a product which does exactly as defined in the spec, but at the same time is useless for customers, or is not profitable for the company which develops it. Systems engineering defines that lyfecycle of the system contains verification and validation as separate logical stages. Validation here is checking that a product satisfies stakeholder needs. Validation is probably something testers must do as well.