Testing can be categorised into two,
- Manual Testing
- Automation Testing
- Manual Testing doesn’t require programming knowledge most of the times as you are going to just compare the expected output vs actual output of the application (not the code).
- Automation Testing - most of the people believes that for automation testing programming is must. but again Automation testing as well doesn’t require programming knowledge in this modern world (Or, may need minimal programming knowledge). There are so many automation tools that can do behavioural driven testing, Visual based testing, OCR based objects identification, table driven testing, etc.., without touching the code (They just need your application not the code) . (I have used an automation testing tool called “Squish” that can be used by manual testers and non-technical people as well).