Test automation of 3D cars simulator. Self-driving cars automation
The topic of self-driving cars test automation using Selenium, Appium is very popular nowadays. So, can we test automatically cars simulators or other 3D racing games? Thanks to Madalin Cars and their free games here on Testpic we managed to develop the algorithm that not only detecting the road lanes but also notifies if the car is starting to drive off-road. The project is able to detect “drunk-driving” and the smallest biases from the straight driving. The next step will be to automate the self-playing scenario using Python and Python-mss library.
What is the main goal?
The game providers and game-dev companies want to deliver the video games as soon as possible due to highly competitive market. And the quality of the games – is the main priority. What to do the if the goal is self-driving cars test automation?
So, what to do? Just hire more QA engineers? Or start developing own frameworks for the testing? It is also a good option. But in this case the companies need to hire appropriate software engineers in test who knows actually, how to test and how to maintain such type of framework and how to develop new scenarios. It means that not only 1 engineer needs to be hired but a few. But where is the limit in hiring of new team members? What if company provides 10 types of games?
Here, on Testpic, we developed the framework, specially aimed for testing of different kinds of games and particularly to succeeding in such as self-driving cars test automation.
What we did here?
We have used advanced approaches and techniques of Computer Vision, using OpenCV and Deep Learning to build the framework and whole infrastructure for the testing of different kinds of games, including 3D shooters, 3D racings, all types of casino games. Our team is the crew of specialists who knows everything about testing of the games.
Testpic provides exceptional highly-qualified test service for the testing of any types of games, such as 3D shooters, 3D racing, RPG games and also wide variation of casino games, where impossible to deal without.
We managed to convert “QA human vision” into advanced “Automated QA computer vision”. Our tests think as QA engineers but much faster.
Some code here?
We can give you a hint where to start in development of the framework for 3D cars.
rho = 1 # distance resolution in pixels of the Hough grid
theta = np.pi / 180 # angular resolution in radians of the Hough grid
threshold = 15 # minimum number of votes (intersections in Hough grid cell)
min_line_length = 200 # minimum number of pixels making up a line
max_line_gap = 20 # maximum gap in pixels between connectable line segments
line_image = np.copy(img) * 0 # creating a blank to draw lines on
# Run Hough on edge detected image
# Output "lines" is an array containing endpoints of detected line segments
lines = cv2.HoughLinesP(black, rho, theta, threshold, np.array([]),
min_line_length, max_line_gap)
for line in lines:
for x1,y1,x2,y2 in line:
cv2.line(line_image,(x1,y1),(x2,y2),(255,0,0),5)What this example does? This code snippet will help you in detection of lanes and tracking it. But it is only tiny piece of job that needs to be done even for such easy example as you can see above on the video.
Would you like to know more? Contact us and subscribe our page on LinkedIn
Also, we upload our video onto Youtube channel.