Grundlegende Konzepte und Anleitungen zum automatisierten Testen, UI-Testen und Schnittstellentesten

Heute werde ich die Hauptinhalte von UI-Tests, Schnittstellentests und Unit-Tests vorstellen

UI-Tests [Selenium]
UI-Tests sind die Art von Tests, die dem Verhalten echter Benutzer der Software am nächsten kommen. Es simuliert normalerweise das Verhalten echter Benutzer, die Software verwenden, dh simuliert verschiedene Vorgänge von Benutzern auf der Softwareschnittstelle und überprüft, ob die entsprechenden Ergebnisse dieser Vorgänge korrekt sind.

Hier sind einige der grundlegendsten Selenium-Befehle

#浏览器操作
#浏览器最大化
driver.maximize_window()
#设置浏览器宽和高
driver.set_window_size(400,800)
#控制浏览器前进、后退
driver.forward()
driver.back()

#简单对象的定位
find_element_by_id()#----唯一
find_element_by_name()#----唯一
find_element_by_class_name()#class定位
find_element_by_xpath()#元素定位
find_element_by_css_selector()

#鼠标事件
#ActionChains类用来操作鼠标事件
context_click()#------------------鼠标右击
double_click()#------------------鼠标双击
click()#-----------------------------鼠标点击
click_and_hold()#---------------按住鼠标左键不动
move_to_element(目标元素)#------------------------移动到某个元素
move_by_offset(xoffset,yoffset)#--------------------移动到某个坐标
drag_and_drop(source,target)#------将元素从起点source移动到终点target
drag_and_drop_by_offset(source,xoffset,yoffset)#-------按照坐标移动
release()# 在某个元素上释放鼠标

 Schnittstellentests [API-Tests]
API-Tests zielen hauptsächlich auf die von jedem Modul bereitgestellten Schnittstellen ab und verwenden normalerweise die Gray-Box-Testmethode. Entwerfen Sie zunächst die Testfälle zum Aufrufen der API im Black-Box-Stil, zählen Sie gleichzeitig die Codeabdeckungsrate während des Testausführungsprozesses und ergänzen Sie dann immer gezieltere Testfälle entsprechend der Codeabdeckungsrate .
Unit-Tests
Unit-Tests, die zur Kategorie der White-Box-Tests gehören, werden in der Regel vom Entwicklungsingenieur selbst durchgeführt. Je früher ein Fehler festgestellt wird, desto geringer sind die Reparaturkosten.
 

#内存的主要组成索引:
ONative Heap: Native#代码分配的内存,虚拟机和Adoid框架本身也会分配
ODalvik Heap: Java #代码分配的对象
ODalvik Other:#类的数据结构和索引
0 so mmap: Native #代码和常量
0 dex mmap: Java #代码和常量
#内存工具:
口Android Studio/Memory Monitor#观察Dalvik内存
0 dumpsys meminfo#观察整体内存
0 smaps#观察整体内存的详细组成
0 Eclipse Memory Analyzer#详细分析Dalvik内存

**

Vor- und Nachteile jedes Tests
**

1. UI-Automatisierungstests

Jedes Unternehmen ist ein Internetunternehmen, und das größte Merkmal ist die Geschwindigkeit – das Produkt muss kontinuierlich iteriert werden, und die Iterationszeit beträgt im Wesentlichen etwa 15 Tage.
Der Vorteil von UI-Automatisierungstests besteht darin, dass damit tatsächlich das Verhalten echter Benutzer simuliert und der kommerzielle Wert der Software direkt überprüft werden kann. Der Nachteil besteht darin, dass die Wartung und Ausführung von Anwendungsfällen sehr teuer ist. Darüber hinaus ist das Stabilitätsproblem beim UI-Automatisierungstest ein wichtiger Grund, der die Entwicklung des GUI-Tests lange Zeit behindert hat.
Bei einer schnellen Iteration können die Seitenänderungen sehr häufig sein, und der UI-Automatisierungstest selbst basiert auf Seitenelementen, und eine kleine Änderung im Frontend kann eine größere Änderung im Test erfordern.

2. Schnittstellentest

Im Vergleich zum UI-Automatisierungstest sind Schnittstellentests stabiler und wertvoller.
Effizienz. Beim Schnittstellentest wird anhand von Testdaten überprüft, ob die Anforderung [Anfrage] und die Antwort [Antwort] den Erwartungen entsprechen. Daher ist die Effizienz der Entwicklung und des Debuggens von Schnittstellentests viel höher als die von UI-Automatisierungstests.
Stabilität. Wenn sich die Benutzeroberfläche ändert, gehört dies grundsätzlich zur Neugestaltung des Geschäfts. Daher ist die Stabilität der Ausführung von Schnittstellentestfällen sehr hoch.
Praktikabilität. Der UI-Automatisierungstest überprüft hauptsächlich die Seitenanzeige, während der Schnittstellentest hauptsächlich die Daten überprüft. Auf dem aktuellen Entwicklungsstand können Funktionstests die auf der Seite angezeigten Probleme grundsätzlich vollständig überprüfen. Daher ähneln UI-Tests ein wenig „Diese sind in Ordnung. Um sicherzustellen, dass es keine Probleme gibt, müssen wir eine UI-Automatisierung schreiben.“ und führe es jeden Tag aus. Beim Schnittstellentest werden die von der Schnittstelle zurückgegebenen Daten überprüft. Bei der Entwicklung einer neuen Schnittstelle werden einander aufgerufen. Es ist unvermeidlich, dass es zu Situationen wie Datentyp- und Schlüsselwertkonflikten kommt. Aus praktischen Gründen ist dies daher der Fall Schnittstellentest ist praktisch höher.

3. Unit-Tests

Wenn wir nichtfunktionale Tests durchführen, können wir UI-Automatisierungstests verwenden, um die Haupt- oder Schlüsselprozesse des Produkts abzudecken (einschließlich Kompatibilitätstests). Das heißt, solange der Hauptprozess nicht fehlerhaft ist, hat der Rest keine Auswirkungen Das Produkt funktioniert auch dann nicht, wenn bei normalem Gebrauch Probleme auftreten. Verbringen Sie mehr Zeit mit dem Entwurf und der Implementierung von Schnittstellentestfällen, um die Genauigkeit der Daten sicherzustellen. Unit-Tests können die Zeitzuteilung entsprechend der Situation wählen.

Abschließend möchte ich mich bei allen bedanken, die meinen Artikel sorgfältig gelesen haben. Gegenseitigkeit ist immer notwendig. Obwohl es keine sehr wertvolle Sache ist, können Sie sie bei Bedarf mitnehmen:

Diese Materialien sollten das umfassendste und vollständigste Vorbereitungslager für Freunde von [Softwaretests] sein. Dieses Lager hat auch Zehntausende von Testingenieuren auf der schwierigsten Reise begleitet, und ich hoffe, es kann Ihnen helfen! Partner können auf die kleine Karte unten klicken bekommen 

おすすめ

転載: blog.csdn.net/OKCRoss/article/details/131307693