First, there is a broad knowledge of computer fundamentals. The principle of microcomputer, data structure, database, operating system principle, compiling principle, logic, programming language, network, etc., all have to learn systematically. are not very likely to be proficient, because people's interests are different, but the basic knowledge of these lessons should be understood. When we do the tests, we need to take into account every aspect of the matter. For example, for a C-written Internet dialer, testers need to consider:
(1) The function of the program is correct; (Requires computer knowledge)
(2) Whether it is in line with the user's usage habits; (Requires interface design knowledge and transposition thinking ability)
(3) Whether the performance meets the requirements, such as long-time use, stability; (requires in-depth computer knowledge)
(4) Whether the user can meet the requirements of different operating systems; (Requires computer knowledge)
(5) If the global release, to meet the needs of different languages and cultures; (Requires software internationalization testing knowledge)
(6) How to build a test environment; (Hands-on, hardware knowledge)
(7) Do code checking; (More in-depth C language knowledge)
Do software testers need to learn the expertise