I had a panic attack when he said you have to implement dynamic time-warping algorithm
@juanotavalo3 жыл бұрын
same feeling
@স্বচ্ছনিরবতা3 жыл бұрын
same here😂
@fredianriko56483 жыл бұрын
I have a trouble breathing at that moment, and my stomach hurt alot
@emaxix73 жыл бұрын
Wait, you guys can breath right now?
@Ab-cj6gl3 жыл бұрын
same i swear 😂😂
@czesiek77PL3 жыл бұрын
Now we need tutorial on how to write Dynamic Time - Warping Algorithm.
@chriseadie70893 жыл бұрын
You could unintentionally write a recursive function that should warp time trying to find it or maybe install every node package that should turn the node_modules folder into a singular even horizon and that definitely warps time 😂
@scripticstudios20223 жыл бұрын
@@chriseadie7089 big brain moment
@scripticstudios20223 жыл бұрын
@RaitRow same lol
@cableguy55763 жыл бұрын
bruh i was thinking the same thing
@badhombre49423 жыл бұрын
Having done TDD for more than a decade, in Java, I must say this is one of the best intro to it. Any code worth writing should be done using TDD. It is the most valuable habit you could acquire as a developer. It gives you what non practitioners cannot have; true confidence in your code.
@tomaspilny83202 жыл бұрын
Being confident due to TDD is true only in moment when you know your tests are bulletproof - most of beginners practitioners won't have that level of confidence you would have after years of TDD thou
@badhombre49422 жыл бұрын
@@tomaspilny8320 The confidence builds as your code consistently pass QA while the others don't.
@ReddSpark Жыл бұрын
I just don't understand how it would be useful in situations where the requirements evolve on a regular basis. For example a startup where you are finding out the right solution based on constant feedback.
@badhombre4942 Жыл бұрын
@@ReddSpark Actually that is the perfect case for TDD, where you develop iteratively and testing grows exponentially.
@chrisodillman3355 Жыл бұрын
i never wrote tests, did not use typescript, had no clue about ci .. i learn this stuff right now in my new job and i love it!
@itsjoseluis3 жыл бұрын
How did you know 😭I was literally googling this for my internship today. And this majestic video just drop 2 hours ago
@notunknown82753 жыл бұрын
hr : "write a dynamic time-warping algorithm" me : "ok let me make some test" hr : "in paper"
@TheHighborn2 жыл бұрын
ok, so anyways string time = "hell to the no"; std::sort(time .begin(), time .end()); have nice day, it's "time" "warp", good bye, see you never
@MrBURGEON2 жыл бұрын
me: "dynamic time-warping algorithm"
@polski_dezerter Жыл бұрын
@@MrBURGEON no no no they wanted you to write "a dynamic time-warping algorythm" so the ral anwser is "a dynamic time-warping algorythm"
@renepromesse74103 жыл бұрын
A video on e2e test with cy and firebase emulator please 🤓
@raghav.bhardwaj3 жыл бұрын
at 1:00, I was think about the exact same things that you mentioned next ( importance and do I need to do it every time?). That's why you are one of the best, you know what kind of question your viewers will ask you and you always (almost) already answer that in your videos. 👍👍👍
@contactdi84263 жыл бұрын
I literally never had idea how exactly testing is done, never tried, also focused on development, but this video taught me testing also in a very short time. Thanks.
@giraffe76043 жыл бұрын
My Java DS&A course in uni was TDD without us realizing. The TA wrote all the tests so it was pretty convinient for them because we weren't submitting crap. The hardest tests to pass were the performance ones.
@sylvereleipertz955 Жыл бұрын
TDD and test first are not the same things.
@crowdozer2 жыл бұрын
As a noob I used to only do manual QA because "why would I need tests when it's easy to tell if it's working". But let me tell you once you switch to TDD it's so much less overhead to worry about. You *know* your change isn't going to cause a cascading failure. You *know* you didn't make an oversight when writing that database filter. You *know* your maths are correct. Also it's so much easier to pinpoint the problem when your test cases are small and everything is modular. So much more confidence in complex codebases
@marcosrolando7987 Жыл бұрын
There's a misconception that derives from the name probably, but TDD is not only making tests but actually *making them before even writing a single line of code that solves those tests*. If you are writing your tests after the code then its not TDD, its just testing (which is not bad thing, TDD per se is almost never used at any job because its complicated to be efficient with it).
@muhmmadawd3206 Жыл бұрын
@@marcosrolando7987 but for newbies in testing it's better to write your tests after making the xode then when you feel your good you can start your tests first😊
@abhishekpratap053 жыл бұрын
Read few blogs, docs just to wrap this things around my head initially, and her I am watching and enjoying every bit of it now.
@The8merp3 жыл бұрын
That jab at PM's and clients regarding 100% test coverage was so good. They do get easily fooled by those numbers.
@ShiraIshikawa Жыл бұрын
I've read and watch a lot of TDD guides and I still can't wrap my head around why we needed it.
@tonylion26803 жыл бұрын
No doubt, you are the best communicator of these topics and this is the best channel on KZbin. Kudos!
@prowhiskey26783 жыл бұрын
"Unfortunately we don't write tests for tests" Mutation testing: allow to introduce myself
@jcespinoza3 жыл бұрын
Hey thanks! Didn't know that was a thing until today
@The8merp3 жыл бұрын
You checkout Pitest for JVM.
@MikeStock883 жыл бұрын
Such a great way to check the quality of your tests Especially useful when you have to refactor something that has no tests
@roshanlalsahu78463 жыл бұрын
Please bring a series on how to test react functional components. (In detail please 🥺)
@Medik_00013 жыл бұрын
There's a good cypress plugin for that
@circulardep3 жыл бұрын
Use React Testing Library
@delavago53793 жыл бұрын
Since you mentioned interviews I am currently working as a software developer for a bank for over a year now. The company took a chance with me after a successful phone interview. Written/coding interviews I find hard. Not becuase I can't do them. No. But becuase I always have a pain attack doing exams or tests. I am not good at taking tests but I can redeem myself through implementation and demo. Test driven development has been a God sent since I started using more over a year ago now.
@pro-cr2eo3 жыл бұрын
As you said it's very satisfying to see tests passed. My favorite tools are RTL and Jest.
@talhaibnemahmud3 жыл бұрын
More videos on Tests please! This probably the least covered area of development in the YT community
@lung200812343 жыл бұрын
As full-stack pro I love your videos! Clear, to the point & concise! Great job!
@MuhsinFatih2 жыл бұрын
you're a full-stack pro? damn you must be so talented
@balddog4702 жыл бұрын
define pro
@edgarsvilums15502 жыл бұрын
@@balddog470 A professional, by definition - "someone engaged in a specified activity as one's main paid occupation rather than as a pastime." Are you trying to sound smart by asking elementary questions? If you don't know what a professional is, you could've just googled it, jeez..
@balddog4702 жыл бұрын
@@edgarsvilums1550 i have no idea why i commented like this lol
@2freaky4Ubaby3 жыл бұрын
Hey, love your videos and really beginner friendly. However, I feel it's important to describe better what a unit test is (e.g. API calls using spies, stubs etc), what a functional test is (better explaining what assertions should be done and explaining the testing of interaction between different parts of your code) . I've been doing that for around 8 years and when people have to really go in and write tests it's indistinguishable for them which one is unit or functional and I've banged my head against that topic too. Looking forward to another more in-depth video, keep it up : )
@michaelslattery3050 Жыл бұрын
I'm glad he didn't. Most of us are unit testing wrong, and I'd rather it not be further spread. The right way could be a distraction. See Ian Cooper videos for details. (Test your API , not your implementation classes; good unit tests test functionality, making conventional functional tests unnecessary.)
@shivam-cc5ts3 жыл бұрын
wish there was a channel like this for non js/ts/node stuff
@TomDoesTech3 жыл бұрын
I hope one day I can make videos like this, the quality is insane.
@maor443 жыл бұрын
I want to start working with unit testing on my office. this video show me why. I will show it to my team. thanks a lot for that.
@shauryaverma87803 жыл бұрын
This dude reads mind! Like today i was assigned a task to write test cases, and he just uploaded one. Damn ❤️🙏
@miguel_bogota3 жыл бұрын
The intro for this video is filled with a bunch of emotions... Happy for a new video, confused by colors and labels, scared by entry level interviews these days and calm to know what to see in your next interview. Hahahaha Amazing video!
@krtirtho3 жыл бұрын
I had lost my motivation & will for writing test. I didn't write tests for 1 week & didn't even write a single line of code for that project. Thanks for motivating me again to write 1000 more tests🙂 If you know what your software will do, its way easier to build code for that software
@ganeshdeshmukh80203 жыл бұрын
wow, this is so nice, I came back while implementing this, first time I only watched it , a month ago, but now came to implement this... thanks a lot.
@thimblebirb3 жыл бұрын
I was close to giving up on implementing unit tests into an existing Svelte+Tauri+TypeScript app. Jest? No luck. Jasmine? Nope. Using TypeScript in the project made everything unnecessarily harder to integrate. I had 30 tabs open, from stackoverflow to GitHub issues in various packages. No lie, 6 hours later I managed to make it work. Not sure if what I did was correct, but it didn't matter. I was able to run a simple test I wrote hours ago. I stuck with Jasmine because I dropped Jest halfway through out of curiosity if it not working was about Jest or not. I also added istanbul/nyc for coverage later. I'm in love with unit testing now. Excited to check out cypress. Thanks for the timely video! 💚🐢
@zulfiqarawan34073 жыл бұрын
First time honest Video about tdd.
@itsdazing12793 жыл бұрын
I have been waiting for videos from your personal channel as i want to know more about your productivity. As usual, this video was so cool. And your teaching style is evolving 🤗
@nwobodogeorge53703 жыл бұрын
Thank you for this great explanation. I will be a pro member, because I have learnt a lot from you. You are a blessing to the software world 🌎.
@Bukosaure2 жыл бұрын
You're the best KZbinr there is when it comes to programming world. Highly interesting and funny has hell. I hope you're not about to retreat anytime soon. Big, big fan.
@bouhannacheabdallah3 жыл бұрын
I always prefer this pre-learning method of describing the path of the science or tech to understand what you are going to find withing it Just make more sense just i would like if you could make a map of what you talk here on github so we can use it for later .thanks
@emanuelescarsella31243 жыл бұрын
I always thought it would be difficult to make test codes... Thanks you for changing my mind♥️
@andy-hoch Жыл бұрын
The best Thumbnail ever on a Developers Channel! ✝️
@suryajit72 жыл бұрын
I'm a tester and this is one of the best explanations for different testing strategies one can look for
@umerfarooq22493 жыл бұрын
Able to understand TDD first time because of you..♥️🇵🇰
@aspirinemaga2 жыл бұрын
0:12 - cracked me 😄😄😄😄
@crash1002132592 жыл бұрын
Hey hey! Just wanted to say thanks for the great content, I'm a Full stack looking to move jobs and I actually looked as this video as exactly as you mentioned, I have an interview that will involve unit testing, so this has taught me a lot, and I love your style or teaching, I will deffo be signing up to some of your more advanced classes in the coming future, keep up the good work!
@chrisdiehl84523 жыл бұрын
You can also do E2E testing with Apache Jmeter. Jmeter is open source, works on any platform and with any development stack, and easy to use with/without testers help by using the proxy server.
@TBVnBIX2 жыл бұрын
As a tech lead of the QA automation team in my company I can't stress enough how important is Cypress for web testing. And if done right it can do much more than Selenium with waaay less test flakyness
@Cahangir Жыл бұрын
Hey , if things go well i might start diving into QA field soon. Would you tell me which programming language am i supposed to learn to get ahead in the competition? I can be considered an intermediate level Python programmer and currently playing with MySQL to manipulate some databases at the moment ( data enthusiast here).
@vasubansal34683 жыл бұрын
Tailwind CSS in 100 Seconds 🔥
@priyanshusharma67633 жыл бұрын
why don't you learn it through docs?
@ukaszszarpak19383 жыл бұрын
I was feeling comfortable with using tailwind after 1 afternoon spent with their docs. Try it out, it's worth it
@deamorta61173 жыл бұрын
@@ukaszszarpak1938 isnt long strings of classnames looks kinda messy? thats whats inhibiting me to try it out.
@vasubansal34683 жыл бұрын
@@ukaszszarpak1938 Yes I know I use Tailwind every single day and its wonderful... I want him to make a Tailwind CSS video so more people are exposed to this absolutely wonderful framework!
@vasubansal34683 жыл бұрын
@@deamorta6117 After using it, it really doesn't make a difference and honestly for me, its much easier to read because i don't have to switch through files and look for classnames
@kanaillaurent5263 жыл бұрын
2:07 Carefull, the word "unit" in "unit test" doesn't mean you test a single method. It means the test is independent of all other tests.
@runenight2803 жыл бұрын
Can you clarify? My working definition, as well as definitions I've searched for online after reading your comment, treat the word "unit" as what it means in the mathematical context, and Wikipedia describes testing as "to ensure that a section of an application". The tests probably should be independent of other tests but that's not what the word "unit" in "unit testing" seems to mean.
@kanaillaurent5263 жыл бұрын
@@runenight280 I don't remember where I got this information in the past. Maybe I got it from Uncle Bob. Sometimes words are not chosen correctly to describe something. For exemple normally a test in everyday life is executed after the product is built. But in Tdd you create the test first and you use it to create the product. The word Unit doesn't mean :"test this method only" or "test this usecase only". It's true that the purpose of the test is to be bound with a single required behaviour only. However this behaviour can imply the call of many methods. And of course if a single test is influenced by others it's not efficient at all.
@DesignDensity3 жыл бұрын
Subscribed not because of invaluable content but also how it's lectured, thank you Fireship :)
@muhammadsadiq36532 жыл бұрын
@Fireship always keeping things simple and straight to the point, Thanks for this. As someone just coming into testing and expected to do TDD one major challenge I face is not knowing if its my test that's bad or if my feature implementation are just wrong, this makes me cut corners. Writing the code then testing it (but this can lead to bias, as I've been told)
@mewokatt3 жыл бұрын
You should make a video on website Domains and the working of hosting of websites. Like how does one buy a domain, use it and host it Or Types of website domains in 100 seconds Or Working of vscode (like the internal working of it, the technologies used, etc) Or A video on 2D library/framework for javascript (as same as you did for threejs, make a video on a threejs counterpart 2D framework of library) And I still have a lot of ideas
@Trixz-the3 жыл бұрын
Thanks for the amazing content bro.
@gregorydyke50943 жыл бұрын
This is really great. I would object to the actual TDD example you give though. Your stack is a leaky abstraction and the leakiness crept into the tests. A Stack "should" only have push, pop (and either peak or isEmpty, depending on your style of stack). It does not have a top, or an items and writing tests against those implementation details means that if you want to change the implementation, you have to change both your test suite, and your implementation. the TDD sequence for a stack with pop, push, isEmpty might look something like - given an empty stack, then isEmpty is true (implement stack class, implement isEmpty that returns true) - given an empty stack, when I push onto the stack, then isEmpty is false (add state to stack class and have push mutate state and isEmpty return based on the state) - given a stack with a single item pushed on, when I pop off the stack, then isEmpty is true (have pop mutate state) - given a stack with a single item pushed on, when I pop off the stack, then the value (have pop return the element at the top of the stack) Probably at this point I have a stack. I could also not have a stack (because I could have implemented an optional), so it's probably best to check that I can push 2 items on the stack and then get them in reverse order when I pop them both up, and end up with and empty stack.
@raphaeld9270 Жыл бұрын
That is a great point: you should keep coupling between your tests and your implementations to a minimum. Makes me remember that connascence + TDD video : kzbin.info/www/bejne/nITVaX96mMdjj5I Have a great day ^^
@vin57183 жыл бұрын
This is definitely what I need to properly learn, Thanks
@weshuiz13253 жыл бұрын
I Tested the like button It worked first time
@victorlongon3 жыл бұрын
Nice video. Although I don't agree with using the beforeEach for this kind of things. Pass everything you need to each test so that you don't cause side effects by mistake. After being working with tests for some years it was something I learned the hard way (debug tests instead of the code ⚰️)
@ogodoonyebuchi2129 Жыл бұрын
Can you give me like 30 minutes of your time, if yes, kindly drop your social media handle let me connect with you. I'm a new Automated tester and I need to ask a few question. Thanks
@TheGrimravager3 жыл бұрын
So I went ahead and implemented the stack thingie while I paused the video, I am happy to find out we implemented it similarly :D although, you set up a project, I did a docker run -it node:buster bash and then apt update && apt install nano and went from there :p
@Checker87633 жыл бұрын
Looks like someone got "Continuous Delivery" channel recommended :) Nice and informative video.
@developerfriendly2 жыл бұрын
adamın videolar çok iyi. çok güzel özetliyor
@MrZiyak993 жыл бұрын
You should make an entire course on testing ⭐️
@sainaths.r20842 жыл бұрын
Much needed intro, Lets say I'm introducing Testing to a startup SaaS web product, with zero teseting till date. With limited dev resources, whats by best ROI test to first implement, Looks like e2e test is the best to start with . What are your thoi
@kahdri3 жыл бұрын
I'm surprised with the quality of each guide in this channel. Great video!
@bandara73532 жыл бұрын
Is it normal that I’m playing your videos all the time while i have a very little knowledge about what you’re saying just because your voice makes me calm 😐
@LucaFang3 жыл бұрын
Wow, I never thought that TDD could be fun. I'll try this methodology in the next project.
@aminzarei15573 жыл бұрын
Just a note, just a tiny mistake in tests would make a huge-deep-logical-hardToFind bug in your app, because it might pass in dev but it might be buggy publishment. So always test the fn in addition of these testing tools.
@Wu33up3 жыл бұрын
3:22 “sanity or smoke testing” according to the latest ISTQB they are synonyms. Smoke=sanity
@DodaGarcia3 жыл бұрын
That's what he meant though?
@rewrittenbytes16163 жыл бұрын
@@DodaGarcia ig it could be interpreted in another way, nothing to do about it though
@MercyFromOverwatch23 жыл бұрын
Jeff is still my favourite tech youtuber
@DaggieBlanqx2 жыл бұрын
Thank you, I am now considering Fireship pro.
@eduardopina79643 жыл бұрын
This is awesome, I didn't know about cypress. I have implemented a huge amount of test in the past using protractor but is not as straightforward as cypress as I can see
@ivar59953 жыл бұрын
Started using cypress few months ago on our project. I have never heard so many swear words from the whole team.
@FilledStacks3 жыл бұрын
Woooohoooooo, so happy about seeing this. My latest vid shows how I use it in my daily development for Flutter but I haven't gone over the full process! This is an awesome video Jeff!
@kennethd13622 жыл бұрын
Would love a video on react testing library 🙏🏼
@ToddDunning3 жыл бұрын
I just don't know how you come up with wildly new and helpful practices when it's hard enough just to barely keep up
@johnibambohni3 жыл бұрын
0:00 red 🟢 - green 🔴 - refactor 🟣 the words match up, but their coloring seems a little off to me! 😉🙃
@ImLaminarBro3 жыл бұрын
This video is nothing but constant Aha moments. Thank you for filling in my gaps of knowledge
@shufflefreakable3 жыл бұрын
i didnt know what it was but for UX design i do this in my head when i go through the use flow
@atroyo6504 Жыл бұрын
4:40 I did not know it was possible to create nested folders like this!
@WiBla3 жыл бұрын
Typo in the description: "is a proven prevent bugs" should be: "is a proven way to prevent bugs".
@sobhanbera3 жыл бұрын
This happens with me many time that whenever I start learning new thing from there official docs, blogs etc. Fireship's notification comes for that same topic.
@kusumojha5ojha8493 жыл бұрын
Thank you for making the video on webgl
@akashpal96913 жыл бұрын
A video on debugging unit test would be great
@SirDamatoIII3 жыл бұрын
Nicely done, just what I needed.
@anthonymazzie4237 Жыл бұрын
Great material, as always. Thanks!
@spudad6 ай бұрын
FINALLY! after 2 years the words coming out of your mouth actually make sense..
@nguyenhuudungz3 жыл бұрын
Very useful, will apply to my next project.
@binodnepali3 жыл бұрын
You are awesome. Your video content makes me keep on watching and brings it back to youtube frequently :)
@PhantomSocke2 жыл бұрын
The cool thing is, the error output tells you exactly what code to write next. Also it is more beneficial to have only one expect per test case. That way if the test fails you know exactly which part of the component is broken. Arrange, act, assert.
@raphaeld9270 Жыл бұрын
The expect count could depend on the test runner/framework you use. For example, if you can see which expects failed in a test, and not just the first one, a few expects in a tests could make more sense, like if they help check the same thing in multiple aspects. Also you could have more specific messages for when those expects fail. But if you can do one expect with an object, instead of a bunch of expect of its keys, you might be better off with one single expect(object).toEqual(expectedObject) if your test runner has good diff-ing when doing equal checks.
@andrewsharpe47642 жыл бұрын
Would love to see a tutorial on mocking in jest. I find it really tricky to understand
@osenidaniel92552 жыл бұрын
This is testing oversimolified. Love it!! Could you do a course one cypress with js or do you have a course on that?
@skykraper41513 жыл бұрын
Love the thumbnail! Greetings from Paraguay
@randomsoul2943 жыл бұрын
"And unfortunately we don't write tests for our tests" 9:00 Well if you're doing TDD properly your code tests your tests as much as your tests test your code. :)
@OsamaAhmaro3 жыл бұрын
You should make a full course on testing
@axa9933 жыл бұрын
Man, this channel just keeps giving.
@anantbarot8013 жыл бұрын
Can you make video on payment gateway? Like how we can set payment option on website? How to set secure payment gateway? What are codes for that?
@darmar86092 жыл бұрын
Amazing tutorial on testing, thanking you heaps!!! ❤
@Noway12523 жыл бұрын
Another awesome video. Thanks a lot! I have been trying to combine the jest and cypress coverage reports in a TS & React project. Can you please cover that in one of your future videos?
@Gazzar193 жыл бұрын
Having a good test coverage makes it much easier to change things without the worrie of breaking things :+1:
@igormriegel3 жыл бұрын
Man, you're a hero...
@StEvUgnIn3 жыл бұрын
SpaceX made test driven code cool again!
@TeslavsEdison12 жыл бұрын
Here's what I did for the final test and pop() method if anyone's stumped: test('can pop off', () => { stack.push('🤌') const endTop = stack.top - 1 expect(stack.pop()).toEqual('🤌') expect(stack.items).toEqual({}) expect(stack.top).toBe(endTop) }) pop() { const popped = this.items[this.top] delete this.items[this.top] this.top-- return popped }
@sreejikm3 жыл бұрын
Amazing insight into the world of testing.
@vladventura19283 жыл бұрын
That's scary, I was looking to learn about react testing yesterday and today I see this
@brandonmyers24493 жыл бұрын
Would love to see a blog post or video showing how you set up the firebase emulator to run with cypress. And would that be integration testing, or E2E, or just ui testing?