In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-02-24 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Network Security >
Share
Shulou(Shulou.com)06/01 Report--
He began to take over the work of the continuous integration platform in August 2017, which includes packaging and release, daily construction, and stability testing. The original intention of doing this is to expose problems early, while making developers make as few mistakes as possible in packaging and improve efficiency.
First of all, collect the status quo, source code management confusion, the underlying packaging space sharing, apk packaged locally, no stability testing, special testing. Requirements collation, need to do source code management, separate the underlying common space, package unified use of server packaging, increase automated testing, stability testing, special testing.
Here's our daily build and stability test:
1. Client daily build
1.1. Unit testing
The unit test is mainly written by the developer, mainly because the developer knows more about the product, and the test development team has too few people, so there are a lot of things to do and give priority to others. On the framework choice, initially want to use the program is robolectric + junit4 + mockito + dagger2, and then was denied by the project manager and director, chose android's own testing framework, the main reason is relative to the Internet company's platform is also their own development, so it is more necessary to perform tests on the real machine.
During the execution process, there are scheduled tasks to svn check out code in the early morning of every day, connect the device, and then use the gralde command to execute the test to generate the test report.
1.2. Integration testing
Here, our integration tests are very similar to unit tests, and the use case design is mainly unit tests that are executed according to the business process.
For integration testing, you can add ui automated testing, and one of your favorite automated tests is macaca.
1.3. Static code analysis
Sonar-scanner will be installed on the server for static analysis, and the results will be uploaded to sonaerqube after performing the scan. The configuration of code rules will be on sonarqube. It is not recommended to open a lot of rule items at the beginning of static code analysis. It is necessary for the development team to adapt to the process. If the rules are opened a lot from the beginning, the developer estimates that they will not be changed directly, and the built-in rules will have a certain false alarm rate and require manual screening.
1.4. Report email notification
An email notification is sent back to the development test if the execution fails or succeeds.
2. Client stability test
The main purpose of the stability test is to expose the performance problems of apk and improve the stability of the product.
To execute the process, the early morning scheduled task will pull the code on the svn. After the code is updated, it will use the script sed command to add the leakcannary to the code, and then perform apk packaging, firmware packaging, and upgrade the generated firmware through OTA. (ota upgrade: put the package to the specified server, and the application itself has a server to check the upgrade from which version to which version is configured through the interface. Execute the monkey command, and check the monkey log and oom log the next day to see if the .prof file already exists. the file is generated by leakcannary. You can use MAT or Android Studio to analyze the prof file.
For performance testing, we need to focus on network, io, traffic, memory, cpu, while for our products, we pay more attention to memory. For other metrics, we will pay attention to this area during functional testing.
3. Server-side daily build
The daily build for the server is mainly to do deployment, interface testing, static code analysis. The language used on the server side is php, and its deployment is relatively simple, only from the use of git pull. Interface testing and static code analysis are performed after deployment. In the interface test, we use robotframework+requestlibrary, which encapsulates a common keyword, which is used when writing testcase. Static code analysis uses sonar-scanner, and the scan results are displayed on sonarqube. Finally, email the test report to the developer / test.
4. Other
4.1, insufficient
Lack of ui automation for our entire process
The static code analysis rules are not perfect.
There are too few unit test cases
Stability testing lacks monitoring of cpu,io, network, etc.
Part of the interface business cannot be covered (eg: payment)
4.2. The pit that lay down
Anyone can go up to the old server to change things.
The same server is packaged with multiple versions of gradle
The management of the underlying source code (sdk) is chaotic, and developers update the source code at will.
Interface update ota configuration is not supported
The source code management is chaotic, the branch is not standardized, and the non-backbone development
Summary:
In the process of continuous integration, start to optimize the process, optimize the functional test process, and automate the process. Contact with more tools, start to do solution analysis, to do the overall architecture design and implementation, to communicate with the project manager, communication is a great knowledge, in which you may encounter a good temper but also a bad temper, encounter a bad temper tell yourself to smile more, find him a few more times may solve the problem. Begin to pay more attention to the quality of the code to understand specific testing.
Welcome to join the 51 software testing family, where you will get [latest industry information], [free test tool installation package], [software testing technology], [job interview skills]. 51 learn and grow with you! Looking forward to your joining: QQ Group: 755431660
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.