1. Automated testing
Automated testing mainly includes several parts, automated testing of UI functions, automated testing of interfaces, and other specialized automated testing.
1.1UI function automated testing
Automated testing of UI functions, also known as automated testing, is mainly automated testing based on the UI interface, and the click of the UI function is realized through scripts. Replace manual testing with automation.
The advantage of this test is to effectively release the testing manpower for highly repetitive interface feature functional testing, and use the execution of scripts to achieve fast and efficient return of functions.
However, the shortcomings of this kind of test are also obvious, including high maintenance costs, easy misjudgment, and insufficient compatibility. Because it is based on interface operations, the stability of the interface has become the biggest constraint on maintaining scripts. Frequently changing interface interactions mean that test case scripts need to be constantly updated, occupying a large amount of testing resources.
=
Misjudgments are prone to occur mainly because identification based on UI controls can easily lead to slow or abnormal loading due to network conditions, device configuration, test environment, etc., resulting in test case execution Some judgments during the process are inaccurate, which affects the accuracy of the test. Insufficient compatibility mainly means that the execution of test scripts on different devices, different operating systems, different hardware environments, etc. will cause unpredictable situations, leading to inaccurate test case execution results.
Based on the above comparison of advantages and disadvantages, in our UI function automated testing, we mainly implement the testing of the core path of the APP, and conduct UI testing on functional modules that require a large number of repeated executions, repeated verifications, and low frequency of UI interface changes. Implementation of functional automated testing.
The need for a large number of repeated executions and repeated verifications means that the utilization rate after automation is high, and the frequency of UI interface changes is low, which means that subsequent maintenance costs are not high. For us, these three types of use cases are For parts with relatively high input and output, we will give the highest priority to the practice of UI function automated testing.
In the process of UI function automated testing, relevant controls, test cases, and test sets can be effectively sorted out and managed, and repeatable work can be merged in a timely manner to reduce the waste of resources. When the UI function changes, it can also be maintained at a smaller cost, reducing maintenance costs.
1.2 Interface Automated Testing
In the UI function automated testing section, we mentioned the constraints for automation: stability. Precisely because the UI interface is unstable, the cost of automating UI functions is relatively high, so we naturally think of the part that is more stable and more conducive to automation than the UI functions, and that is the interface.
The interface of an APP may change due to the different demands of the product manager at different stages, but the interface behind it is usually relatively stable, which is beneficial for us to carry out automated testing. ensure.
We need to prepare the interfaces called by the APP, sort and summarize them according to the functional modules, prioritize them for automation, understand the meaning of each interface, the value ranges of different parameters, and how to handle different inputs Inventory the situations that produce various outputs, and summarize error or exception returns to ensure the effectiveness and completeness of interface testing.
After the interface automated testing is started, an interface document needs to be maintained together with the development engineer. Whether there is an increase or decrease in interfaces, or related changes to existing interfaces, the test engineers can know immediately and Make corresponding adjustments to the use cases for interface automation testing.
1.3 Other special automated tests
In addition to the above two categories of automation, we can also use automation to do some special tests to help improve our test quality and testing efficiency. Here, we need to think diligently in our daily testing work, thinking about which tasks can be achieved through automation, which tests can be automated to improve testing efficiency, which function points can be automated to achieve long-term test monitoring, etc.
For example, in the project I am responsible for, there is a function. During manual testing, we can only verify it with a limited number of clicks, and the frequency of clicks is low. However, through scripts, we can implement it during the testing process. For faster and longer click operations, we can use automation to achieve it. Not only can it be executed on your own test equipment, but it can also be executed on different devices. This automated test is effective and can improve test efficiency and test quality. Although this test will not be added to the set of use cases for UI function automation for various reasons, in the current version, automation has indeed brought us very useful help, and this is what we need to advocate.
In short, we can use various automated testing tools and testing methods to assist us in testing, which is worthy of recognition.
2. Performance testing
In the testing system of the project I am responsible for, performance testing mainly includes performance testing in three dimensions, namely performance testing in the time dimension, performance testing in the resource dimension, and Fluency test.
2.1 Time Dimension
Performance testing in the time dimension mainly refers to the time response of functional features after a click operation. We are more familiar with the first screen loading time, the response jump opening time after clicking, etc.
There are many ways to perform performance testing in the time dimension. You can use screen recordings to calculate time, you can also use timestamps in the program to calculate time, you can also use third-party scripts to calculate time, or you can through image recognition Technology to calculate time, etc.
During the testing process, we need to conduct pre-research on the tool in conjunction with the project itself. Is it a one-time test or does it require continuous testing in the future? Whether it needs to be converted into a tool for subsequent long-term use? Is it on a single device? To use it, you still need to consider compatibility for use in different device environments, whether the tool is open source or provides a data interface for subsequent integration with the team's test platform, and so on.
2.2 Resource Dimension
The performance test of the resource dimension mainly refers to the consumption of various system resources during the use of the APP, including CPU, memory, power, traffic, etc.
The selection of testing tools depends on the different test terminals. The dimensions that need to be monitored during the test are also determined based on the project. The specific testing methods will not be discussed here.
What needs to be mentioned here is that performance testing in the resource dimension can do two parts of the work, one is the performance test during the test process, and the other is the collection of online performance data.
Performance testing during the testing process can be evaluated based on business testing needs. Which scenarios need to be tested? Is it a one-time test of the current version or a test that requires comparison of each subsequent version? Is it only necessary to test this version? The performance data of the machine still needs to be collected on multiple devices. It only needs to be tested by this APP, and it still needs to be compared with competing products and tested.
On this basis, evaluate whether it is necessary to implement test cases through automated scripts for subsequent reuse. If subsequent longitudinal comparative testing with historical versions is required, it is necessary to ensure that the test environment and test equipment are as consistent as possible to make the test results more authentic and reliable.
Another small point to add is that the processing and calculation of test data can be realized through automated scripts, saving the cost of human computing resources. If necessary, you can also build a simple platform and store all test data on the platform for subsequent analysis and reference.
To collect online performance data, development engineers need to report relevant data during the function implementation process. After the function is released, the online data must be retrieved, processed, and calculated to discover possible problems. With the cooperation of the development engineer's logs and the logs of users who have errors, the location, analysis and resolution of relevant performance issues can be achieved.
2.3 Fluency test
As the most intuitive feeling of user experience, the fluency test is also a must for many performance tests. There is no need to go into details here about the method of doing fluency testing, but there are a few points that need to be noted:
The first is how we plan the use cases for the fluency test, and the second is how we use the test result data after the fluency test To analyze and improve, the third is how we need to monitor the fluency from online data after the APP is released.
Regarding the design of fluency test cases, it needs to be designed based on the core functions of the APP and the common user paths. It is best to have online data to support this part, rather than just thinking about it. The jump paths of most users in the APP obtained with the support of data are what we need to focus on. In addition, we also need to pay attention to the paths prone to lags monitored in the online data during the testing process.
The analysis and use of data after the fluency test, as well as the monitoring of online fluency data, require joint planning and joint investigation by test engineers and development engineers. This article will not elaborate on it.
3. Stability test
Regarding this part, you can start from the two stages of the test stage before the release of the APP and the online operation stage after the release, and carry out the work separately.
During the testing phase, we can carry out stability testing around Monkey testing and code review. Qualified teams can also use static code scanning tools at this stage. During the Monkey testing process, attention should be paid to the equipment, environment, and frequency of test execution. Problems discovered during the process should also be analyzed to a certain extent, and special attention should be paid to the parts prone to problems. Code walkthroughs can be combined with modules that are prone to crashes during functional testing to carry out key walkthroughs, promote development and pair programming, and check for possible problems in these modules. As for static code scanning, development students need to solve the scanned problems and develop good coding habits to avoid the leakage of related problems.
In the operation phase, we can conduct stability testing around the reporting and analysis of external network crash data. This part relies more on development engineers to solve. However, during this process, test engineers can analyze the reported data and locate some basic data of crashes, such as common systems, models, etc., to improve and optimize daily stability. sex test.
The above is the detailed content of What are the Android APP testing process and common problems?. For more information, please follow other related articles on the PHP Chinese website!

根据美国司法部的解释,蓝色警报旨在提供关于可能对执法人员构成直接和紧急威胁的个人的重要信息。这种警报的目的是及时通知公众,并让他们了解与这些罪犯相关的潜在危险。通过这种主动的方式,蓝色警报有助于增强社区的安全意识,促使人们采取必要的预防措施以保护自己和周围的人。这种警报系统的建立旨在提高对潜在威胁的警觉性,并加强执法机构与公众之间的沟通,以共尽管这些紧急通知对我们社会至关重要,但有时可能会对日常生活造成干扰,尤其是在午夜或重要活动时收到通知时。为了确保安全,我们建议您保持这些通知功能开启,但如果

Android中的轮询是一项关键技术,它允许应用程序定期从服务器或数据源检索和更新信息。通过实施轮询,开发人员可以确保实时数据同步并向用户提供最新的内容。它涉及定期向服务器或数据源发送请求并获取最新信息。Android提供了定时器、线程、后台服务等多种机制来高效地完成轮询。这使开发人员能够设计与远程数据源保持同步的响应式动态应用程序。本文探讨了如何在Android中实现轮询。它涵盖了实现此功能所涉及的关键注意事项和步骤。轮询定期检查更新并从服务器或源检索数据的过程在Android中称为轮询。通过

为了提升用户体验并防止数据或进度丢失,Android应用程序开发者必须避免意外退出。他们可以通过加入“再次按返回退出”功能来实现这一点,该功能要求用户在特定时间内连续按两次返回按钮才能退出应用程序。这种实现显著提升了用户参与度和满意度,确保他们不会意外丢失任何重要信息Thisguideexaminesthepracticalstepstoadd"PressBackAgaintoExit"capabilityinAndroid.Itpresentsasystematicguid

1.java复杂类如果有什么地方不懂,请看:JAVA总纲或者构造方法这里贴代码,很简单没有难度。2.smali代码我们要把java代码转为smali代码,可以参考java转smali我们还是分模块来看。2.1第一个模块——信息模块这个模块就是基本信息,说明了类名等,知道就好对分析帮助不大。2.2第二个模块——构造方法我们来一句一句解析,如果有之前解析重复的地方就不再重复了。但是会提供链接。.methodpublicconstructor(Ljava/lang/String;I)V这一句话分为.m

如何将WhatsApp聊天从Android转移到iPhone?你已经拿到了新的iPhone15,并且你正在从Android跳跃?如果是这种情况,您可能还对将WhatsApp从Android转移到iPhone感到好奇。但是,老实说,这有点棘手,因为Android和iPhone的操作系统不兼容。但不要失去希望。这不是什么不可能完成的任务。让我们在本文中讨论几种将WhatsApp从Android转移到iPhone15的方法。因此,坚持到最后以彻底学习解决方案。如何在不删除数据的情况下将WhatsApp

原因:1、安卓系统上设置了一个JAVA虚拟机来支持Java应用程序的运行,而这种虚拟机对硬件的消耗是非常大的;2、手机生产厂商对安卓系统的定制与开发,增加了安卓系统的负担,拖慢其运行速度影响其流畅性;3、应用软件太臃肿,同质化严重,在一定程度上拖慢安卓手机的运行速度。

1.启动ida端口监听1.1启动Android_server服务1.2端口转发1.3软件进入调试模式2.ida下断2.1attach附加进程2.2断三项2.3选择进程2.4打开Modules搜索artPS:小知识Android4.4版本之前系统函数在libdvm.soAndroid5.0之后系统函数在libart.so2.5打开Openmemory()函数在libart.so中搜索Openmemory函数并且跟进去。PS:小知识一般来说,系统dex都会在这个函数中进行加载,但是会出现一个问题,后

苹果公司周二向开发人员发布了iOS 16.2 beta 2,因为该公司准备在 12 月向公众提供更新。正式地,它添加了新的 Freeform 协作应用程序和对 Home 应用程序的改进。在后台,9to5Mac发现 Apple 一直在开发一种新的“自定义辅助功能模式”,该模式将为 iPhone 和 iPad 提供“流线型”体验。自定义辅助功能模式这种代号为“Clarity”的新模式基本上用更精简的模式取代了 Springboard(这是 iOS 的主要界面)。该功能在当前测试版中仍对用户不可用,将


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

Atom editor mac version download
The most popular open source editor

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool