Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Application of Neural Network in Test sampling

2025-04-01 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >

Share

Shulou(Shulou.com)06/03 Report--

1. Background of tool creation

Navigation plays an increasingly important role in people's lives. Since the company has been doing navigation products, in order to ensure the quality of products from the depth (the quality of products has been guaranteed from the breadth through a large number of cases), as the test leader of Routing, I conducted in-depth research on navigation algorithms.

When doing Regression of Map Data, we test the bottom data based on navigation, while MapData is converted by Tools Team, so changes in the original data and changes in Tools will cause changes in navigation, and these two layers are blackboxes for us who test from the upper layer. When testing, it is easy to find differences with automated tools, but it is quite difficult to check, because we need to know not only that the route has changed, but also how it has changed, otherwise you don't know that your model is constantly optimizing. At that time, more than a dozen cases with route changes were checked in one day. For a Regression of five or six thousand cases, the test workload increased exponentially, and it was no longer possible to solve the problem by adding one or two people.

Navigation is itself a machine learning process, so the traditional method of extracting cases to cover each feature with functional tests is not fully applicable in this case: One is because a planned route will involve hundreds or even tens of thousands of links, and each link has multiple influence factors. If one or several factors change, it may cause changes in the navigation path, not to mention so many variable factors. Moreover, the previously designed case covering the Feature may not be covered because the data has changed. Second, because machine learning itself is a process of continuous training and optimization of prototypes through a large amount of data, reducing cases for testing is likely to cause the model to fall into local optimization. So as a math department, I thought that the best solution was to test the prototype of machine learning with machine learning methods, so I thought of neural networks.

During this period, it was not only QA of our team that suffered, but dev of ToolsTeam was also asked to check case with our Regression tool, to know how difficult it was for them to check the logic of navigation (even if they knew that navigation had changed, but why, you had to know). This made me realize that the idea of automation tools is much more important than the development of automation tools. The lead of Tools Team once said: As long as you have an idea, we can make tools. So after about two weeks of torture, at 4 a.m. in my sleep, I finally had a solution, not an idea, and that was called excitement, JJ.

The next day, after discussing it with mgr, he agreed to my solution, so I found a great person in ToolsTeam and built the tool in just a few days.

2. Artificial Neural Network (ANN)

Main types:

·Forward neural network

·Feedback network

·Self-organizing networks

·Interconnected networks

In order to make the model relatively simple and accurate, we adopt a three-layer feedforward neural network (i.e., one hidden layer).

3. realized idea

·Extract difference

Use a third-party tool (diff.exe) to compare the differences between the old and new maps (similar to Beyond Compare) and output them.

·Use of neural network models

Input layer: output of diff.exe.

Hidden layer: internal processing logic

Output layer: classification result and cost of change

Weight of input layer to hidden layer: w(ih)

Weight of hidden layer to output layer: w(ho)

·Implement classification

Classify by feature, manually configure by config.xml to define the priority of classification:

·Calculate weights w(ih) from input layer to hidden layer

Convert priority to a number between [0, 1](stuck in this conversion process, thought of neural networks, but did not know how to convert existing inputs and expected outputs into mathematical models):

F1 = (1/2)^1

F2= (1/2)^2

F3 =(1/2)^3

F4 = (1/2)^4

F5 =(1/2)^5

F6 = (1/2)^6

F7=(1/2)^7

Notes:

Fn: represents the nth feature

2) Weights are defined for each classification factor according to the geometric series 1/2^n, the purpose of which is to make the final added value of each weight infinitely close, but

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.

Share To

Internet Technology

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report