As far as testers are concerned, apart from testing the application thoroughly and finding good bugs, what other factors are there/ or what other things the testers can do which can prove their worth within the scope of a project. This can be junior or senior testers both including the test lead.
Here are some ideas (not exhaustive, as is never the case with testing).
- On a higher level, contribute to establishing a test strategy, master test plans, etc.
- Static reviews of analysis documents and requirements! This implies finding defects before they're even developed. Testing at its most valuable. You're really challenging the analysts' work in a healthy way. Every clarification to the requirements is (hopefully) one defect less to log when testing the application.
- Similar to the previous point: peer reviews within the testing team. Test plans, test scenarios and test cases, automated test scripts... It doesn't harm to have those checked by another tester, so the quality of the testing itself remains at a high level.
- Become an application (and/or domain) expert. Testers, once they've spent a some time on a project, have seen many modules and features pass by (and went through them in depth). This means, more than anyone, they have a very broad and deep understanding of many features - usually even more than end users (who do not know every little business rule in the requirements). And testers are the first ones with hands-on experience. This application/domain knowledge can be of great value, most likely to trainers and end users (especially in smaller organizations, in my experience), and in the end even analysts (who usually work in their own key areas).
- Organize acceptance tests and guide business people through them.
- Introduce test automation and test management tools, if needed. Writing custom tools (this can be as simple as a browser plugin to create test data) is always handy. Provide often needed SQL queries/scripts so less technical testers can consult or modify the database too.
- Suggest or implement improvements to the overall (testing) process. This also includes carrying any "lessons learned" over to future projects.
- Cleaning up of legacy or outdated test documentation. Create decent test documentation if it doesn't exist (and more: for example, a tips & tricks manual for new testers on the team).