Software Testing Document Retention Standard
I'm trying to find out what the software industry standard is for Software Testing Document retention for both hardcopies and electronic format (such as error reports, defect documentation, requirements, etc.). It'll be helpful to know at what point it is okay to discard of these items and only keep what is or may still be needed.
Thanks for any feedback you can provide.
There's no "software industry standard" that says you must keep any test artefacts for x number of months or years, but there may be other standards that define this depending on the domain and application/system that you're working on.
Pharma and Finance are the two main domains that come to mind (medical, nuclear, and other safety-critical systems probably also have their own requirements), but even those depend on the application/system and whether or not the system is covered by relevant legislation and local requirements. For example, a Finance system that is intended to produce internal management reports on product strategy will have a different test retention requirement to a Finance system that produces external shareholder and stockmarket reports.
Your company may also have it's own internal policies, depending on how governed your test processes are and whether the docs will potentially be used in the future or kept for posterity/reference/sending to an offshore team/training/refreshers on why something was designed the way it was.
The short version is "What meridian_05 said".
There is no standard. There are often no standards even within industry segments.
Where something is covered by legislation, obviously you need to comply with the legislation. If you're dealing with credit card payment authorization, it's always a good idea to keep the certification testing artifacts and proof of certification for as long as your application uses that particular authorization provider.
My personal preference, assuming no other requirements, is to keep test artifacts for new enhancements forever in electronic format (because these often form the basis of help documentation and configuration instructions and because they describe what the originally developed functionality should be). Test artifacts for bug reports tend to be more throwaway unless I think there's a high chance of recurrence. Wherever possibly, I try to make automated regression the "gold standard" oracle of how the application is supposed to behave.
As far as when to discard, if functionality has been obsoleted, obviously anything related to that functionality can be safely discarded. Beyond that, I tend to look at how often something needs to be referred to - I tend to lean towards zipping up older items and archiving them rather than outright discarding them. When I do need to discard, I start with the oldest.
Thanks for your responses. It's greatly appreciated.