Test hakkında bilgi

Merhabalar, internetten bulduğum bazı basit projeler ile test otomasyonuna hakim olmaya çalışıyorum. Bugün pythonda amiral battı, hesap makinesi vb. şeyler yazdım. Bu yazdıklarımı test edebilmek için ne yapmam gerekiyor? Lisanslı bir programlama diline mi ya da başka bir test programına mı ihtiyacım var? Ya da bir farklı bir kütüphane mi kullanmam gerekiyor? Şimdiden fikirleriniz için teşekkür ederim.

Sanırım yapmak istediğiniz şey programda belli yerlere tıklayarak/yazı yazarak programı test etmek. Bunun için pyautogui modülü yeterli olacaktır. Sadece ekranda tıklamak istediğiniz yerleri seçmeniz yeterli. Örnek kod:

import pyautogui # pyautogui yi kodumuza ekledik
pyautogui.position() # mouse imlecinin ekrandaki konumunu aldık
pyautogui.click(328, 798) # ekranda x 328, y 798 konumuna tıkladık
pyautogui.typewrite("Deneme") # Deneme yazdık

Burada pyautogui.position() ile ilgili anlatmak istediğim bir şey var.

pyautogui.position()

bu kod şu sonucu verecektir:

Point(x=328, y=798) # (x ve y değeleri sizde farklı olacaktır (mouse imleciniz benimki ile aynı yerde olmadığı sürece :D) )

Burada x ve y konumunu almak için şöyle yapmalıyız:

pyautogui.position().x
pyautogui.position().y

Şimdi alınan mouse imleci konumuna 3 saniye sonra tıklayan örnek bir program yazalım:

import pyautogui
import time

position = pyautogui.position()
x = position.x
y = position.y

time.sleep(3)

pyautogui.click(x, y)

Eğer programa özel bir pencere adı verip ona tıklamak istiyorsanız pywin32 modülünü (pip install pywin32) kurabilirsiniz veya AutoHotkey dilini öğrenmeyi deneyebilirsiniz. Bu tarz otomasyonları kolaylaştırmak için iyi bir dil. Ancak sadece windows ta çalıştığını da unutmayın. Ayrıca C++ öğrenmeyi de deneyebilirsiniz. AutoHotkey’de C++'a derleniyor zaten. Yani AutoHotkey’de yaptıklarınızın aynısını C++'ta yapmakta mümkün.

Ayrıca yazdığınız amiral battı, hesap makinesi vb. programlara ekleyeceğiniz fonksiyonlar ile de otomasyon yapmayı deneyebilirsiniz. Ancak kodu görmediğim için mümkün müdür bilemiyorum.

Python, C++ ve AutoHotkey’den bahsettik. Hepsi ücretsiz ve 3ü ile de bunu yapabilirsiniz.

https://dzone.com/articles/top-10-automated-software-testing-tools

Web için ise Selenium kullanabilirsiniz. Web için değil ise ekranda tıklayabildiğiniz, yazı yazabildiğiniz herhangi bir modül işe yararmış gibi duruyor. Ancak ne gibi testler yapmak istediğinizde önemli.

1 Beğeni

Ne tür bir testten bahsediyorsunuz? Test ile kastınız kodun belli parametreleri işlediğinde hangi sonucu verdiğini kontrol etmek ise if, assert gibi basit yapılar ile bunu kendiniz yazabilirsiniz. Bunu daha düzenli yapmanızı sağlayan kütüphaneler de var.

Kullanılan arayüz kütüphanesi event’leri simüle etmeye izin veriyorsa böyle işlere girişmeye hiç gerek yok.

1 Beğeni