Conduct software compatibility tests with programs, hardware, network environments. Create and maintain databases of known test defects. Design test plans, scenarios, scripts, or procedures. Develop testing programs that address areas such as database impacts, software scenarios, regression testing, negative testing, error or bug retests, or usability. Document software defects, using a bug tracking system, and report defects to software developers. Document test procedures to ensure replicability and compliance with standards. Investigate customer problems referred by technical support.