7. Testing, Debugging, Exceptions, and Assertions

  Рет қаралды 184,718

MIT OpenCourseWare

MIT OpenCourseWare

Күн бұрын

Пікірлер: 94
@leixun
@leixun 4 жыл бұрын
*My takeaways:* 1. Defensive programming: testing/validation and debugging 4:20 2. Three classes of test: unit testing, regression testing and integration testing 6:25 3. Testing approaches: natural boundaries for numbers, random testing, black box testing and glass box testing 7:45 4. Black box testing is based on specification, an example 9:05 5. Glass box testing tries to test every single path of the code 10:20 6. Using the print statement to debug 15:17 7. General debugging steps 17:20 8. How to debug logic errors 18:42, try rubber ducky debugging 9. Do and Don't 20:00 10. Exceptions 21:40 11. Assertions 37:45
@muneebqureshi8862
@muneebqureshi8862 4 жыл бұрын
Good work.
@Amy_Yu2023
@Amy_Yu2023 4 жыл бұрын
Lei Xun Thanks for sharing
@steverobinson8771
@steverobinson8771 2 жыл бұрын
Thank you for taking the time over your reply
@MaeLSTRoM1997
@MaeLSTRoM1997 Жыл бұрын
If bug fell in the soup, just eat it
@denisecarillo2586
@denisecarillo2586 6 жыл бұрын
She's really easy to learn from. Thank you for teaching and positing this online without charge
@willcheung7041
@willcheung7041 4 жыл бұрын
and she is hot
@jcavs9847
@jcavs9847 4 жыл бұрын
@@willcheung7041 feels weird man
@88Oleksiy
@88Oleksiy 3 жыл бұрын
@@willcheung7041 very inappropriate
@EZ-hc5sh
@EZ-hc5sh 3 жыл бұрын
Don’t care. Before I go, why did you volunteer that info? Unless she requested said statement be relayed, who youis, P? Either way, is a quick way to farm out, there..uum, P. Or p, really, cuz u ain’t proper- or correct. correctional yes, attitude-oh yard time gotta go fill my cup one drop at a time
@mohammadsamir2713
@mohammadsamir2713 6 жыл бұрын
although i am not a native or the best in english , i can hear every word and understand her i want to thank you a lot Dr. Ana
@dhruv_aditya
@dhruv_aditya 3 жыл бұрын
Dr. Anna Bell is a great instructor, Thank you MIT OCW for making this high quality content online absolutely for free.
@rooneymara8061
@rooneymara8061 7 жыл бұрын
Amazing how she gets better as the lectures go on
@JamBear
@JamBear 3 жыл бұрын
Just like coding
@Saganist420
@Saganist420 7 жыл бұрын
"Decide it's high protein and declare it a feature". That's hilarious. ahahah
@yukeyang5735
@yukeyang5735 6 жыл бұрын
I guess the soup would be tasty.That guy is funny.Haha.
@serkansenturk6945
@serkansenturk6945 5 жыл бұрын
The Elder Scrolls V: Skyrim likes this
@juanperezmondragon1676
@juanperezmondragon1676 4 жыл бұрын
that's actually what we do in mexico, grasshoppers are a traditional snack in some parts of the country, cus in the prehispanic times the solution to famines due to plagues was eating the insect that caused them.
@鄭心和
@鄭心和 4 жыл бұрын
pre labeling ​​0:01:02 We aim for high quality - an analogy with soup 0:02:00​ 0:03:46 Programming so far 0:06:48 Classes of test 0:08:02 Testing approaches 0:10:00 Glass box testing ​0:11:02 ​0:11:48 ​0:14:00​ 0:16:00 0:17:26 Debugging steps 0:19:33 0:20:05 Don't and Do ​0:22:16 Other types of exception 0:24:08 ​ 0:25:41 Handling specific exception 0:27:09​ Other exception 0:28:15 What to do with exception 0:31:15 ​Example : Raising an exception 0:32:00 0:33:52 ​ 0:35:31 ​Option 1 0:37:01​ Option 2 0:38:38 Example 0:40:48 Where to use assertion
@DistortedV12
@DistortedV12 4 жыл бұрын
Where was this video when I started learning programming, would've saved me a lot of time
@nancylu4049
@nancylu4049 3 жыл бұрын
Dr. Ana Bell is a great instructor!
@IACOIACOIACO
@IACOIACOIACO 2 жыл бұрын
this lecture was a godsend, feeling a lot more eager and motivated to learn programming, especially when there are tools at your disposal when shit hits the fan !!
@jiakai7254
@jiakai7254 Жыл бұрын
perhaps the most valuable lecture in this series
@TheMinaProject
@TheMinaProject 2 жыл бұрын
Watched so many videos but only Dr Ana Bell's one stuck! Thank you!
@Lexaire
@Lexaire 4 жыл бұрын
26:35 for the last case, it will raise an Exception on interrupts like KeyboardInterrupt when you press CTRL+C. Programmers should be careful having broad except cases. If you had an infinite loop that caught all exceptions it would be hard to kill the program.
@nephetssnephetss1508
@nephetssnephetss1508 Жыл бұрын
Dr. Anna Bell. This is great.
@davidorsa4406
@davidorsa4406 5 жыл бұрын
Dr.Hanna, you are awesome instructor and you made learning fun. Thank you very much!!!!
@jesuelmarques2241
@jesuelmarques2241 Жыл бұрын
At 26:42 she says that she couldn't think of an error that would be raised besides these two. I thought of one: if a/b is too large, Python won't be able to represent it as a float and would raise an OverflowError
@h3ll_sds
@h3ll_sds 7 ай бұрын
yeah same
@bla3029
@bla3029 3 жыл бұрын
Your voice and words are very clear good for concentration
@jojojojo4862
@jojojojo4862 10 ай бұрын
You are the best👏🏻👏🏻❤️ thanks Professor Anna
@HexagonalColumbus
@HexagonalColumbus Жыл бұрын
36:21 How did you divide 100 by 3 and got 15.41666? Same for other lines. You should debug your code
@McAwesomeReaper
@McAwesomeReaper Жыл бұрын
I feel like 85% of the engineers I work with skipped this class.
@alexandrugheorghe5610
@alexandrugheorghe5610 Жыл бұрын
26:43 one more exception can be KeyboardInterrupt
@tes33720
@tes33720 5 жыл бұрын
These are great, and Ana is great. Was worried when there was a new teacher in the last video.
@adas21
@adas21 5 жыл бұрын
Mr. Eric Grimmson is actually better and more experienced
@oximas-oe9vf
@oximas-oe9vf 2 жыл бұрын
@@adas21 yaa but prof. Ana is more fun and has more jokes
@geekyprogrammer4831
@geekyprogrammer4831 Жыл бұрын
@@oximas-oe9vf we are here to learn not for jokes
@oximas-oe9vf
@oximas-oe9vf Жыл бұрын
@@geekyprogrammer4831 welll jokes secrete happy hormones inside you which generate emotion and emotions help with memory and help you get motivated to learn more
@jmjtoob
@jmjtoob 6 жыл бұрын
"Decide it's high protein and declare it a feature"... I may have worked as a software engineer for that student's father in the past.
@hektor6766
@hektor6766 5 жыл бұрын
I think he has many fathers.
@sarthakraj3981
@sarthakraj3981 5 жыл бұрын
Pretty sure that was John, and not a student
@PradeepKumar-gq8ej
@PradeepKumar-gq8ej 5 жыл бұрын
Love this session, fund very easy and clear and fun. Thank you so much for sharing..
@hectort88
@hectort88 7 жыл бұрын
We use the "rubber ducking" method, not for coding but for general problem solving in our IT department with an empty pringles can.
@oximas-oe9vf
@oximas-oe9vf 2 жыл бұрын
I talk to my tulpa (a consious imaginary friend) LOL
@jpdroidjp
@jpdroidjp 2 жыл бұрын
Lecturer is very good, it's not easy teaching programming. But for some reason I'm hung up on her pacing back and forth, and I can't get it out of my head! I wish I never thought of it now.
@akbarrauf2741
@akbarrauf2741 8 жыл бұрын
thank you ,mit
@oussematoussli8085
@oussematoussli8085 4 жыл бұрын
this proffesor is really great i wish i could study for her
@jaddadzakaria
@jaddadzakaria Жыл бұрын
love these lectures
@obli8984
@obli8984 3 жыл бұрын
thanks she is back after him
@aviliocarcamo6454
@aviliocarcamo6454 Жыл бұрын
Does anyone know in which video she talks about the Rubber Ducky?
@Mark-wq7wd
@Mark-wq7wd 2 жыл бұрын
Your brain is the kitchen. Keep that place clean and sharp
@TedsWorld101
@TedsWorld101 Жыл бұрын
Anyone: Did you learn anything today? Me: Yeah, talking to rubber duckies helps me with my problems.
@Tintak_hatpin
@Tintak_hatpin 4 жыл бұрын
I am surprised that no one in the class asked why does it raise ValueError instead of TypeError, as the user provides the wrong Type of input i.e string Type whereas the expected input was integer Type. I had to google to find the answer. May be they already know the answer ?
@anlbasaran8206
@anlbasaran8206 Жыл бұрын
even though the user provides a string , n = int(input("How old are you? ")) this line converts n to an integer, even though n = twenty , which doesnt sount like an integer but when you ask type() it will return the answer "integer" so the error isnt a type error, sorry for the messy explaination even if you already googled and learned the answer , it might help the people who hasnt :D
@evanmcarthur478
@evanmcarthur478 5 жыл бұрын
The first answer was genius, she laughs, but thats what companies do all the time release buggy software .....then endless patches.
@adrianivanov6626
@adrianivanov6626 5 жыл бұрын
How do I do the thing where she selects multiple lines of code and adds a # in front of each of them at once?
@jasonchen0429
@jasonchen0429 5 жыл бұрын
Select the code then press ctrl+1
@adrianivanov6626
@adrianivanov6626 5 жыл бұрын
Jason Chen Thanks
@quintonconoly
@quintonconoly 2 жыл бұрын
@@jasonchen0429 Thanks
@Tarun-zf5ep
@Tarun-zf5ep 3 жыл бұрын
CD Projekt Red should watch this.
@iansullivan9738
@iansullivan9738 6 жыл бұрын
Current American model for dealing with the first analogy: Burn the ceiling down
@xmnemonic
@xmnemonic 3 жыл бұрын
she has BLE: big lecture energy
@antoniobuccoliero5437
@antoniobuccoliero5437 6 жыл бұрын
Bravissima, complimenti!!!
@sheikhakbar2067
@sheikhakbar2067 4 жыл бұрын
Could debugging be fun; I hope so!
@dve845
@dve845 5 жыл бұрын
be conservative in what you output and liberal in accepting your input? ... exceptions demand catches, just as return values rquire if's
@chrischungy
@chrischungy 4 жыл бұрын
19:33 Professor's kid is probably going start to dreaming in code and grow up to be a wizard.
@PhilippeCarphin
@PhilippeCarphin 8 жыл бұрын
Don't backup your code, make a commit with git
@PhilippeCarphin
@PhilippeCarphin 8 жыл бұрын
That's a bit much for people who are learning about if statements. All they need is version control. The advice she was giving was one of version control even though she used the word backup. But if you're going to do a backup, wouldn't it be better to backup your repo by having a remote repository whose url is a path to some place on another drive.
@sandeepkosta5750
@sandeepkosta5750 8 жыл бұрын
these days ide does that for us.. making our life a lot easier
@Rollo_and_Jeet
@Rollo_and_Jeet 5 жыл бұрын
what is need of raising the exception? we can simply use print statement and break ?
@aymensekhri2133
@aymensekhri2133 5 жыл бұрын
thanks a lot
@varungupta5493
@varungupta5493 5 жыл бұрын
is there a way to know which pset to do after which lecture?
@mitocw
@mitocw 5 жыл бұрын
At the bottom of the Syllabus page on the full course site on OCW ocw.mit.edu/6-0001F16 there is a Calendar with the release and due dates of the psets. Good luck with your studies!
@varungupta5493
@varungupta5493 3 жыл бұрын
@@mitocw Thanks!
@yodgoralisherov289
@yodgoralisherov289 2 жыл бұрын
👍👍👍
@quocvu9847
@quocvu9847 Жыл бұрын
32:53
@JeffBarron1
@JeffBarron1 3 жыл бұрын
stand still damn it!
@funandmotivationweekly
@funandmotivationweekly 4 жыл бұрын
comment the code what you have written and not working, so you don't endup doing the same implemenation again while doing the testing, cleanup at the end of finding the solution.
@pgoeds7420
@pgoeds7420 6 жыл бұрын
Try not to use ingredients with bugs already in.
@wanyinleung912
@wanyinleung912 5 жыл бұрын
Voice crack at 38:57
@quintonconoly
@quintonconoly 2 жыл бұрын
lol
@sharketespark6495
@sharketespark6495 Жыл бұрын
Deadpool never comes to any tests😢
@Xgckl
@Xgckl 7 жыл бұрын
That program for the class wouldn't work. The first student in class_list would get a correct entry in new_stats but then in the next step of the for-loop his grades and the next student would go into new_stats. Also, the program would try to do avg on his name, so you would definitely get an error message.
@hoangfuongduy
@hoangfuongduy 6 жыл бұрын
no dude, she separated the avg function to debug, that means when insert in back to the main function, she will amend the argument to be the right argument. As earlier we know that to debug we will devide the main program to smallers functions and check indiviualy.
@germanarrowood2748
@germanarrowood2748 2 жыл бұрын
The abundant look prenatally slow because test noteworthily tug barring a many confirmation. mammoth, hollow passive
@sanjeetkumarrai4998
@sanjeetkumarrai4998 3 жыл бұрын
disappoint beyond belief!!!
@ramazanaktas3699
@ramazanaktas3699 5 жыл бұрын
I wish she had praticed a little before lectures. Maybe 1/5 of lectures goes with "ehm", "umm", "err" or an awkward silence.
@quocvu4023
@quocvu4023 Жыл бұрын
18:24
Black Box and Glass Box Testing
2:04
MIT OpenCourseWare
Рет қаралды 39 М.
6. Recursion and Dictionaries
48:22
MIT OpenCourseWare
Рет қаралды 381 М.
УЛИЧНЫЕ МУЗЫКАНТЫ В СОЧИ 🤘🏻
0:33
РОК ЗАВОД
Рет қаралды 7 МЛН
UFC 287 : Перейра VS Адесанья 2
6:02
Setanta Sports UFC
Рет қаралды 486 М.
Counter-Strike 2 - Новый кс. Cтарый я
13:10
Marmok
Рет қаралды 2,8 МЛН
8. Object Oriented Programming
41:44
MIT OpenCourseWare
Рет қаралды 638 М.
AI Is Making You An Illiterate Programmer
27:22
ThePrimeTime
Рет қаралды 83 М.
Back to Basics: Debugging in Cpp - Greg Law - CppCon 2023
1:00:37
5. Tuples, Lists, Aliasing, Mutability, and Cloning
41:28
MIT OpenCourseWare
Рет қаралды 233 М.
Inside the V3 Nazi Super Gun
19:52
Blue Paw Print
Рет қаралды 2,8 МЛН
Strange answers to the psychopath test | Jon Ronson | TED
18:02
Large Language Models explained briefly
7:58
3Blue1Brown
Рет қаралды 1,3 МЛН
УЛИЧНЫЕ МУЗЫКАНТЫ В СОЧИ 🤘🏻
0:33
РОК ЗАВОД
Рет қаралды 7 МЛН