Many years ago, I worked with a company-recognized expert on projects. A project is a development of a Pocket PC. After writing some components, the experts said to me, "Dude, can you find the bug ?". I took his components and walked several times according to the requirements in the requirement document, saying, "Yes, no problem ". The expert smiled mysteriously. "I know there is a bug. How can I find it? I will invite you to dinner .". I was told by him, so I tried it several times, but I got nothing. Then he reluctantly said to him, "Okay, I can't find it. Tell me where I am ?". He connected the Pocket PC to a computer, uploaded a large file, occupied the space of the Pocket PC, and then ran his components. The system crashed.
I was dumbfounded and said, "Boss, this is too extreme !". The expert said, "You asked our QA, how many customers reported such bugs? To avoid being reported by QA, you must master the complete testing technology ."
What I want to talk about here is that an advanced development technology is testing. Many developers put a lot of learning time on computer languages, APIs, frameworks, etc. Although they are good, they despise the testing work and think it is not the work of developers, I even thought that developers had done all the tests, but what should the tester do. In fact, the developer's work is like a craftsman. For example, if you want others to boast that you have a good craft, You have to polish it yourself to publish wonderful products.