Testing GUI Apps - What to test? How to test it? Mini Coding Course for Beginners

  Рет қаралды 24,998

Python Simplified

Python Simplified

Күн бұрын

In this mini course, we will learn all about automated software testing with a fun coding exercise!
We will take a Kivy GUI application, and we will use it to learn what to test and how to test it!
By the end of this video, you will understand why testing is so important and how it helps us write better software. Therefore I highly encourage you to warm up your fingers and code along with me! 🙂🙂🙂
The main concepts you'll learn:
1. Static Analysis
2. Dynamic Analysis
3. Automated Testing
4. Unit testing a Kivy GUI Application
⏰ TIME STAMPS ⏰
-----------------------------------------------------------
00:00 - introduction
00:38 - download example app
00:56 - when do we write tests?
01:22 - run example app and install dependencies
02:29 - review example app
04:00 - static analysis with pylint
04:58 - dynamic analysis
06:16 - coding unit tests
07:23 - what is asserting?
07:49 - software testing checklist
08:02 - test existence of software elements
08:24 - test if app exists
10:10 - test if GUI widgets exist
15:36 - test is assets (image files) exist
19:20 - test content of software elements
19:32 - test data types
22:15 - test ideal input
30:16 - test accidental input
32:16 - test boundaries of valid input
32:53 - test mathematically wrong input
34:52 - test malicious input
37:02 - intro to SQL injection
37:56 - thanks for watching!
🎥 USEFUL TUTORIALS OF MINE 🎥
-----------------------------------------------------------
⭐ Anaconda Beginners Guide for Linux and Windows:
• Anaconda Beginners Gui...
⭐ Learn Classes and Objects for Beginners:
• Python Classes and Obj...
⭐ Practice classes - Forest of Objects OpenCV Exercise:
• Draw a Forest of Rando...
⭐ OOP Class Inheritance and Private Class Members - Python for Beginners!
• OOP Class Inheritance ...
⭐ Simple Python App with Kivy - Step by Step GUI Tutorial
• Simple Python App with...
⭐ Mobile App with KivyMD - Python GUI for Android:
• Mobile App with KivyMD...
⭐ Python TDD Workflow - Unit Testing Code Example for Beginners:
(please read the pinned comment in this video!! it's important!)
• Python TDD Workflow - ...
⭐ If _name_ == "__main__" for Python Developers:
• If __name__ == "__main...
⭐ List Comprehension - BEST Python feature !!! Fast and Efficient:
• List Comprehension - B...
#python #pythonprogramming #pythontutorial #unittesting #unittest #softwaretesting #softwaredeveloper #softwareengineer #softwaredevelopment #computerscience #dynamicanalysis #kivy #pylint #testing #coding #codingtutorial #programming #programmingforbeginners #learnprogramming #learnpython #learncoding
💻 STARTER FILES 💻
-----------------------------------------------------------
github.com/MariyaSha/Automate...
🤝 Connect with me 🤝
-----------------------------------------------------------
🔗 Github:
github.com/mariyasha
🔗 Discord:
/ discord
🔗 LinkedIn:
/ mariyasha888
🔗 Twitter:
/ mariyasha888
🔗 Blog:
www.pythonsimplified.org
💳 Credits 💳
-----------------------------------------------------------
⭐ Beautiful titles, transitions, sound FX:
mixkit.co
⭐ Beautiful icons:
flaticon.com
⭐ Beautiful graphics:
freepik.com

Пікірлер: 77
@magowiz82
@magowiz82 11 ай бұрын
To be honest I expected you would have used an automated testing software to make your tests interact directly with your application gui. Probably since this is a general video about testing is better like this, I don't know of you or your followers are interested and if they knows about this kind of software, by the way I'm using for my kivy/kivymd application this combination to have pretty good automated tests: - telenium : application that is able to interact with kivy gui using xpath to select widgets - pytest : a test suite for python - pytest-bdd : which is a plugin for pytest that implements bdd and permits you to use gherkin language to define your tests step and bind python methods to your gherkin steps. I hope this information could be useful.
@PythonSimplified
@PythonSimplified 11 ай бұрын
Thanks for the AWESOME Kivy testing tips! 😃 Much appreciated! Telenium is definitley on my list, I will cover it in a future series of a Kivymd app from head to toe (or tail... should I say 😉). For the current video, I wanted a general testing tutorial that covers what to test and how to test it regardless of the GUI library we're using 😃 Now that it's out of the way - we can move on with more complex/specific stuff. Thanks again! Pinning your comment to the top! Cheers! 🙂🙂🙂
@zzzkeepgrindding
@zzzkeepgrindding 8 ай бұрын
​@@PythonSimplified@Python Simplified I really like the python course you explain it very good and easy. love tour vids
@rahmanabdullah1049
@rahmanabdullah1049 11 ай бұрын
You make things so simple to understand and apply. Thank you!
@bombus1340
@bombus1340 11 ай бұрын
+1 for a video about SQL Injection! I've seen videos about what to do to avoid them, but nobody demonstrates examples for Injections and it always feels like "avoid it, because I say so". I'd like to see exaples for possible Injections attacks to get the full picture.
@PythonSimplified
@PythonSimplified 11 ай бұрын
Great! I've seen so many requests already, it's safe to assume a simplified tutorial is needed! 😉 We'll do the following: I'll design an example webapp that each of us can clone and experiment with on our own device. That way, we are not attacking an actual server, rather than our own local environment. Thank so much for the request! I'll start conceptualizing a very nice tutorial 🙂
@taskhopper
@taskhopper 2 ай бұрын
Thank you so much for this tutorial honestly. You're such a lifesaver!
@wagnerjosegertrudesmuitoal3638
@wagnerjosegertrudesmuitoal3638 11 ай бұрын
This is the best testing video I've ever seen, it's a very comprehensive and secure set of tests, and the way your eyes light up when you talk about programming is unforgettable, thank you!
@PythonSimplified
@PythonSimplified 11 ай бұрын
Yeeeeeyyy!! Thank you so much for the incredible feedback!! Super happy you found it helpful! 😃😃😃
@jeuxmathinfo9578
@jeuxmathinfo9578 11 ай бұрын
Very useful! Thanks for sharing !!! 🌹
@tonym5857
@tonym5857 10 ай бұрын
Great video 👏👏👏 testing is mandatory 💪
@valerieocanaable
@valerieocanaable 5 ай бұрын
The cat was comic relief. I love it!
@lewisjade
@lewisjade 11 ай бұрын
This is incredible I ❤ it!
@_isDev
@_isDev 11 ай бұрын
amo a esta mujer! gracias por los tutoriales!
@PythonSimplified
@PythonSimplified 11 ай бұрын
Muchas gracias Ismael!! 🙂
@hamed6899
@hamed6899 10 ай бұрын
You are a really good teacher.
@paulthomas1052
@paulthomas1052 11 ай бұрын
Thanks for another great video - I found it easy to follow and very useful.
@PythonSimplified
@PythonSimplified 11 ай бұрын
Thank you so much!! glad you like it! 🙂🙂🙂
@carstenjensen3123
@carstenjensen3123 11 ай бұрын
You are absolutely sensational at explaining complex stuff in a straightforward way. Thanks for this video. Now, could you please make some videos about some simple Kivy and Kivymd apps and getting them to run on android?
@PythonSimplified
@PythonSimplified 11 ай бұрын
Thank you so much! I already have quite a bunch of simple GUI tutorials for kivy/kivymd! Both for Android and Desktop 😉 Here's the list: 🥝 Mobile App with KivyMD - Python GUI for Android - Binary to Decimal Converter: kzbin.info/www/bejne/l5mWe5h-dsuAZq8 🥝 Convert Python KivyMD App to Android .apk: kzbin.info/www/bejne/jKS3koBmapylmsU 🥝 Simple Python App with Kivy - Step by Step GUI Tutorial: kzbin.info/www/bejne/j3XTaGaNn7N8icU My next major project would be with kivymd (they actually just released new id designation commands for Python purists like myself 🤩). This project will include a step by step codealong, automation with Telenium and unittest/pytest, as well as deployment to several mediums (I've heard it can be adapted into a web app, I need to test is it works. BTW, the folks behind Kivymd are viewers of this channel, you'll see them once in a while in the comments 🙂
@user-ws4nz8fu6z
@user-ws4nz8fu6z 11 ай бұрын
Спасибо :)
@user-sf4uw5wp6e
@user-sf4uw5wp6e 10 ай бұрын
Fantastic video, need a tutorial about flet framework
@minaahosaam7961
@minaahosaam7961 11 ай бұрын
Good video and this great App
@rahneshin752
@rahneshin752 11 ай бұрын
❤❤
@erickleuro6159
@erickleuro6159 11 ай бұрын
loving the cat at 23:16
@alexcaruajulca
@alexcaruajulca 11 ай бұрын
thanks for the subtitles
@ibrahimmoawadibrahim7332
@ibrahimmoawadibrahim7332 10 ай бұрын
Great
@haplo666
@haplo666 11 ай бұрын
YES YES YES, please create a vidoe with SQL malicious inputs!!!
@PythonSimplified
@PythonSimplified 11 ай бұрын
Fantastic!! We got 2 requests in the comments already - 3 more and you got it! ;)
@ekvilibriumm
@ekvilibriumm 11 ай бұрын
The clarity of your voice is very eargasmic on top of that you are such a beauty! And... U're so intelligent too?! What the heck! U are best, I love u my Cutie Pie !! Hahhaha❤😂
@PythonSimplified
@PythonSimplified 11 ай бұрын
hahahaha thank you so much for the lovely comment! 😀
@diwakar_tsn
@diwakar_tsn 11 ай бұрын
As always ❤🔥
@Chernikru
@Chernikru 11 ай бұрын
I love your English so much. This pronunciation is just something. Usually I don't even understand familiar words, but this is different. And of course, the explanation is excellent. Oh yes, you are also an incredible cutie and a very charismatic person.) P.S. Надеюсь гугл переводчик хорошо справился со своими обязанностями
@PythonSimplified
@PythonSimplified 11 ай бұрын
а зачем гугл переводчик? я прекрасно читаю и говорю по русски 😉 большое спасибо за коммент! 🙂
@Sinke_100
@Sinke_100 11 ай бұрын
Yes, I like voice too, it's so melodic and full of joy
@carlospitcher4335
@carlospitcher4335 11 ай бұрын
Excellent content! now i want to know more about SQL injection!
@PythonSimplified
@PythonSimplified 11 ай бұрын
Thank you so much! A few more viewers mentioning SQL Injection - and you got it! 😉 (it's so easy, you will never believe it!!!)
@magowiz82
@magowiz82 11 ай бұрын
Do I have to mention SQL injection to ask you to talk about SQL injection in another video about SQL injection? OK I mentioned three times, I hope it counts like this 😂
@PythonSimplified
@PythonSimplified 11 ай бұрын
@@magowiz82 hahahahaha now I must!! Don't worry, I am definitley filming this. It's highly unusual to see so many comments about something I've mentioned at the end of a 38 minute-long tutorial 🤪 I'll start working on it shortly, katching up with school in the next few days and then I'll move on with SQL Injection mad scientist simplified video 🙂
@gemini1053
@gemini1053 11 ай бұрын
Great video tutorial.
@PythonSimplified
@PythonSimplified 11 ай бұрын
Thank you so much!! 🙂
@user-td1ro3lp4o
@user-td1ro3lp4o 8 ай бұрын
please post your content regularly
@MrPennywise1540
@MrPennywise1540 8 ай бұрын
I have a Python code that use Tkinter to make a GUI. This code edit images. Now, I'm developing my webpage with Django, and I want to run the GUI code in my page. I hoped I could sove it with PYSCRIPT, but it's not compatible. I'm in a dead end. Can someone give me an advice?
@vishnusudheer6049
@vishnusudheer6049 9 ай бұрын
Hi can you help make a program which tracks drones using webcam of pc in python
@ricardodeoliveiraalves339
@ricardodeoliveiraalves339 9 ай бұрын
oh trem bunito essa muié... e ainda é programadora e inteligente!
@gantebang
@gantebang 7 ай бұрын
“Pie-thag-re-um” i got you 🤓
@nalinperera5754
@nalinperera5754 11 ай бұрын
@dsrealmofmeme
@dsrealmofmeme 10 ай бұрын
Hey Mariya, love from India. Can you please make a tutorial of making a 3d realistic game in python?
@anthoniG
@anthoniG 10 ай бұрын
Was rather hoping it would be testing for QT (either PyQT or PySide)
@LastdayPhysics3960
@LastdayPhysics3960 9 ай бұрын
Was is live? I missed it?
@Sinke_100
@Sinke_100 11 ай бұрын
Mariya, I didn't download the code, but from watching the video when I see alot of elifs I wonder if perhaps is cleaner solution to it? def error_check(a, b, c): l = [a, b, c] l = [i for i in l if i] d = {0:'nothing provided', 1:'please enter one more side', 3:'you don\'t need me'} x = None if len(l) == 2 else d[len(l)] return x error = error_check('3', '3' , '') if not error: print('This is where you call another function that handles calculations') something like this perhaps
@PythonSimplified
@PythonSimplified 11 ай бұрын
Cleaner solution is always better! Fantastic refactoring, Sinisa!!! (As usual! 🤪) much appreciated! 😃
@Sinke_100
@Sinke_100 10 ай бұрын
Now that I cloned and try your app, here is my solution: def callback(self, this_button): ''' a method executed each time the submit button is pressed ''' self.message.text = self.pythagorean() def pythagorean(self): a = self.input_a.text # leg b = self.input_b.text #leg c = self.input_c.text # hypotenuse x = len([i for i in (a,b,c) if i]) d = {0:"oops! no input was recieved! please enter 2 side lengths to get the 3rd!",1:"please enter one more side length to get the third!",2:False, 3:"if you already know ALL sides then you don't need me!"} if d[x]: return d[x] missing_index = [i for i,j in enumerate([a,b,c]) if not j][0] lh = lambda x,y: str((float(x)**2+float(y)**2)**(1/2)) ll = lambda x,y: str((float(y)**2-float(x)**2)**(1/2)) d = {0: lambda: ll(b,c),1:lambda: ll(a,c),2:lambda: lh(a,b)} return d[missing_index]()
@JSL180
@JSL180 8 ай бұрын
`libGL error: MESA-LOADER` solved with `conda install -c conda-forge libstdcxx-ng`
@shakhnozahalilova3249
@shakhnozahalilova3249 11 ай бұрын
Hi Mariya, what's up? Mariya, Could you tell me about how to build a gui program that locks an exe file with given password by user and when user attempts to enter that exe app, a form should ask for a password to enter that exe app? No matter, in which programming language is needed to do that So, plz give me your advice on how to build that kind of app
@PythonSimplified
@PythonSimplified 11 ай бұрын
I actually have the perfect set of tutorials for you! 😁 (it rarely happens!!! hahaha) To lock your setup file with a password (not .exe, but the actual setup wizard that leads to your .exe) you can follow this tutorial: ⭐ Convert GUI App to Real Program - Python to exe to setup wizard kzbin.info/www/bejne/pmTXhH-XqdJ6rLc then at minute 19:44 just set the password you'd like instead of leaving it blank. In addition, I highly recommend following the tutorial of the example GUI app we are converting. It uses a GUI library called Tkinter, which is very traditional and popular in Python. That way you can learn many principles of app making and then apply it on your own ideas. Here's a link: ⭐ Create GUI App with SQLite and Tkinter (Random Recipe Picker): kzbin.info/www/bejne/a6Kyn618bLemhKM Good luck and I hope it helps! 🙂🙂🙂
@shakhnozahalilova3249
@shakhnozahalilova3249 11 ай бұрын
@@PythonSimplified Yeah(Mariya), thanks. The interesting part of that is I've asked for it from a person who works at Facebook as senior software engineer, and he said, "It's kind of hard thing to do." And he also replied that, Because what you're actually requiring for requires good knowledge of assembly and other things to do
@PythonSimplified
@PythonSimplified 11 ай бұрын
Usually yes - but luckily I had a chance to simplify the entire process already! I've done the hard part so you guys don't need to deal with it on your end 😉 (Also, maybe share it with the Facebook guy if he doesn't like to deal with assembly 🤪 hahahaha)
@shakhnozahalilova3249
@shakhnozahalilova3249 11 ай бұрын
@@PythonSimplified yeah. Mariya, he's older than me and he has a family. I'm sixteen. And I asked for him "why not the most developers want to do this", and he replied me like "Not everyone want to do, because they have a their own job and they don't want spend their time on these kind of things". This so inspiring for me to make great effort to become such this great developer in the future.(I've never talked to such this kind of a person who is ready answer questions sincerely,people who are interested in programming or IT, generally)
@PythonSimplified
@PythonSimplified 11 ай бұрын
​@@shakhnozahalilova3249 senior developers tend to dismiss juniors with "read the manual" type of answers. They can explain it in 1 minute or send you on a long Google-search journey to maybe find an answer. I think it's silly and unprofessional, but then... I'm not a senior developer, so maybe it's an acquired quality 😅 hahahaha
@mibrahim4245
@mibrahim4245 11 ай бұрын
Thank you M
@aneellakhani6535
@aneellakhani6535 11 ай бұрын
So beautiful
@iamleonardjunior1877
@iamleonardjunior1877 8 ай бұрын
Code mother,can you create a video on hacking
@TheGroundskeeper
@TheGroundskeeper 10 ай бұрын
I love you.
@RobloxBedwarsPlayer01
@RobloxBedwarsPlayer01 8 ай бұрын
she's too beautiful
@baseddepartment1306
@baseddepartment1306 11 ай бұрын
If you are not testing in production you are overthinking it
@1PartiZzan
@1PartiZzan 11 ай бұрын
Ээээййй 🙀
@mohamedrebbouh
@mohamedrebbouh 9 ай бұрын
Focus on video content ❌ Focuse on The pitch of your voice ✅ 🤣🤣
@RobloxBedwarsPlayer01
@RobloxBedwarsPlayer01 8 ай бұрын
Why are you too beautiful ? 😁
@MegaZigzag69
@MegaZigzag69 11 ай бұрын
No, you too beautiful ))
@Rammen
@Rammen 10 ай бұрын
Давай поженимся!?😊
@user-tu3um6pk2j
@user-tu3um6pk2j 10 ай бұрын
If you don't make mistakes, then you are solving too simple problems. And this is your biggest mistake.
@الباشاعثمان
@الباشاعثمان 9 ай бұрын
hello teacher can i text you on Email ?
Docker Simply Explained with a Machine Learning Project for Beginners
25:31
Create a GUI app with Tkinter - Step by Step Tutorial
23:56
Python Simplified
Рет қаралды 610 М.
БОЛЬШОЙ ПЕТУШОК #shorts
00:21
Паша Осадчий
Рет қаралды 11 МЛН
Clowns abuse children#Short #Officer Rabbit #angel
00:51
兔子警官
Рет қаралды 72 МЛН
New model rc bird unboxing and testing
00:10
Ruhul Shorts
Рет қаралды 23 МЛН
Python TDD Workflow - Unit Testing Code Example for Beginners
25:33
Python Simplified
Рет қаралды 75 М.
Convert .py to .exe in 37 seconds!
0:37
Practical Coding
Рет қаралды 45 М.
Modern UI Test Automation with Selenium Libraries
1:13:13
IntelliJ IDEA, a JetBrains IDE
Рет қаралды 74 М.
Dictionary Comprehension - Create Complex Data Structures Step by Step
21:58
Convert GUI App to Real Program -  Python to exe to setup wizard
23:27
Python Simplified
Рет қаралды 499 М.
Python Classes and Objects - OOP for Beginners
8:01
Python Simplified
Рет қаралды 540 М.
Это Xiaomi Su7 Max 🤯 #xiaomi #su7max
1:01
Tynalieff Shorts
Рет қаралды 1,1 МЛН
EXEED VX 2024: Не өзгерді?
9:06
Oljas Oqas
Рет қаралды 46 М.
Собери ПК и Получи 10,000₽
1:00
build monsters
Рет қаралды 2,8 МЛН
ОБСЛУЖИЛИ САМЫЙ ГРЯЗНЫЙ ПК
1:00
VA-PC
Рет қаралды 2,1 МЛН