Looking at the core concepts of major companies, there are often a similar "customer-centric" values. Huawei is the first to put "customer-centric" in its core values to show its importance. From the beginning of our induction training, the company has repeatedly stressed and guide you in-depth discussion, hope to make this idea deeply rooted. So how do we actually implement the concept of "customer-centric" in our software testing engineers, and how do we incorporate this concept into our daily testing work?
Before answering these questions, take a look at a story:
All say Chinese people like to engage in sports, like to engage in activities, foreigners do not. Is that right? Tell me about a customer-centric (Think as customer) event that I experienced at IBM.
That was in 2006 when I worked for IBM, my WebSphere product line carried out very large "Think as Customer" training and practice activities as well as hard requirements. The idea that this activity is related to our testing is:
-Testers should look at the product and the problem from the user's point of view;
-When the tester encounters the product problem during the test, the user will also encounter;
-Users will also face the same situation when testers fail to find the cause and solve the problem through error prompts and logs;
-Finding and solving a small serviceability problem will reduce the chance for a customer to make a support call, costing the company $200 per service call.
For our test team, the hard indicator of this activity is: Each Discovery 10 1, 2 levels of problems, must be issued 3 3, 4 level of usability or serviceability problem. In this request, we are forced to test the testing process to examine every detail of the product, carefully to verify that the product's prompt information, error messages and logs correctly reflect the situation at the time, whether it can guide the user to independently correct the error without recourse to support. It really took us a lot of time, but the advantage is that many years of small problems, testers feel that can not mention the problem, developers think it is not a problem, and so on, all open defect to repair. Because of the top-down implementation and execution, testers and developers participate in this activity, which makes development and testing easy to agree on this type of problem, testers have a lot less resistance, a lot of confrontation is invisible.
Although this activity for 3, 4 level defect and specifically to find, to repair, people feel a bit rigid and mechanical, but the activity itself led us to usability and serviceability problems in-depth study and discussion, deepen the understanding of such problems, And the customer-centric testing concept to the hearts of the heart. Even if the product is no longer engaged in this special activity, we have formed awareness and habits, consciously to practice this concept, because think as customer has been integrated into our work.
One more recent example:
When testing a large data backup, the tester discovers that it submits a backup job that enables Deduplication, and when the job runs for about half the time, terminates it, and the job terminates within a short period of time, and there is no problem. The problem is that, when the next backup job is submitted, the job is displayed in progress, and it actually takes about 2 hours for the backup job to really start. When testers encounter this problem, they do not know why the job waits so long to run, and there is no log output to tell us what the job is doing. It's easy to think of the job hang and cancel it again, unless you don't care about it, or I don't know who has the patience to wait 2 hours or so.
This scenario is analyzed by the developer and believes that this phenomenon occurs because the background is defragmenting and deleting the work after the first deduplication job is completed, and the new job is not started until the job is finished, so the front end will see the new job waiting for 2 hours before it really starts. Development concludes that this is not a problem, because from their point of view, it is normal, when the end of a deduplication backup job, the background to do cleanup work, and actually the background is to do delete and defragmentation. But if you look at the problem from the customer's point of view, this is unacceptable! First, the defragmentation and deletion work itself needs to be improved, 2 hours of processing time is too long, and secondly, if the performance can not be improved, the defragmentation and deletion of the work itself will need to improve the time, can not affect the user next backup job, should choose to run without backup job execution; Logs also do not have any output, users can not know what the background is doing, it is easy to lead users more error operations, and even think that the product is a problem.
Glimpse, from this example, we can see that the same scenario, from the developer's point of view, is not a problem, but from a customer perspective it can be a problem. So for testers, our judgment on products and issues should be from the customer's point of view, not conducive to customer understanding, inconvenient to use the problem of saying no, the customer may encounter problems do not compromise.
To see the following two questions, is it easy to come to an answer:
-Does the software test focus on development design or customer focus?
-When developers and designers say: The product is designed to work that way, and we find it unreasonable from a user's point of view, what should we do?
Software testing should stand in the customer's position to look at products and issues, when the scene with the design and development of conflict, but also from the perspective of customer use to consider, simulation of their own customers are using our products, whether it is a problem, it is easy to determine the clarity. In addition, we should implement the "customer-centric" concept from top to bottom, when the design, development and testing personnel have this concept, we will identify and solve the problem a lot smoother, easier to reach agreement.
From the customer perspective, not limited to the discovery of problems, from product design and use, we should also uphold this concept, testing personnel is the first customer of the product, if we feel that the product is not good, not easy to understand the place, our customers will encounter the same problem, We should promote the design and development of products more in line with the use of customers, more reasonable. This is also the responsibility of the test engineer.
Please Think as customer!
"Reprint" Think as customer-centric testing concept