eBay's test

  As a quality engineer who has been in the testing field for thirteen years and has also worked at eBay for eight years, I have always wanted to write about eBay 's tests. I worked in other companies before I joined eBay, and I know the drawbacks of software testing . At eBay , I also watched it evolve step by step from focusing on production processes to a testing mode focusing on technological innovation.

 

       eBay 's software testing engineers are called QE (Quality Engineer) . Many of our projects adopt agile development, with an iteration every two weeks, and there is a clear division of labor between PD ( development ) and QE ( testing ) . Developers are responsible for the design and implementation of the software, as well as writing unit tests. We use Jenkins for continuous integration. The code will automatically trigger compilation, testing and packaging after each checkin . We require unit test coverage to be above 85% . The results of code coverage will be published to the unified Sonar server by the Sonar plugin of Jenkins , and you can check whether the coverage meets the standard through sonar . PD itself has high requirements on the code, and often refactors and improves the code. At this time, unit test can allow them to refactor with confidence. For such PD, it is also conscious to write unit test . So we are probably pushing unit tests more than many other companiesThere is much less resistance to the standards. This is very important for product quality. Many companies now realize that testing should take a pyramid structure, the lower the test, the wider the coverage. Because the higher the upper layer, the higher the cost of testing. This is especially typical on ebay . Some flows are very long. It is easy to make mistakes when a case runs for an hour. After the whole set of tests is finished, the daylily will be cold! So if you can use unit test coverage, write unit test , if you can use service test coverage, don't write ui test , if you can write short flow , don't write long one, and use a small amount of end2end tests to verify long flow .

       

        After unit testing, Feature testing is the responsibility of QE . QE for Domain requires familiarity with many relevant domain knowledge. But not only the function of the page, including the database, the protocol of the service , and the interaction interface with other Domains should be familiar with. PD also often needs to rely on the help of QE to create various required data. eBay 's entire website is very complex, and there are intricate connections between various fields. It often takes a long time for newcomers to understand all aspects. The magic of eBay is the stability of its personnel. The average number of years my colleagues in my former department have stayed on eBay has reached five or six years!

 

After writing test cases from the perspective of integration and systems , perform manual testing , and then write automated tests as soon as possible, otherwise the subsequent rounds of iterations will increase the pressure of regression testing. And we also have quantitative requirements for the automation rate of features . Our department basically reaches 80 to 90 percent. The company has developed some automated testing frameworks to enable QE to better develop its own test cases. For web testing, we are active users of the Selenium community and have developers and contributors to frameworks and tools such as Selenium Grid, Selndroid, iosDriver, etc.

 

These automated tests are also run periodically through CI . Because the eBay test environment is very complex, there are many problems and challenges encountered in test cases. We need to solve these problems through continuous innovation and use various technologies, so the development capabilities of eBay testers are quite high. This is where it differs from traditional testing. No wonder some people say that testing is dead. My understanding is that the kind of testing that is purely manual testing can no longer survive in this rapid iterative development method. It is replaced by new, advanced, automated testing. Represents a high-productivity test method. Especially in the platform department where I am currently, the products tested are all products such as the underlying framework, cloud computing, development tools, etc. The user group itself is the developer, and it is necessary to use programming to verify the function, and you need to write appropriate tests yourself. Framework, the entire testing process is basically automated.

 

      At the earliest , eBay also used some commercial testing software as a testing tool, and now there are fewer and fewer such commercial tools. We prefer to use open source tools or self-developed tools to help us test. We also like to make some customizations and extensions based on these open source tools to meet some of our needs. In our eyes, these tools can be combined at will to automate the entire testing process.

 

 

     In addition to these tasks, QE also needs to participate in design review, code review, release, support and other work. And we will also share our experience and skills inside and outside the company, so that we will continue to learn and improve our technical level, and at the same time inspire innovation, and create better performance while improving ourselves. This is what I see as eBay software testing, and I hope to give you some inspiration.

 

 

This article was first published on the WeChat public account "Xiao Bei Love Test"

Please indicate the source of the original text when reprinting 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326391527&siteId=291194637