Software Testing Explained in 100 Seconds

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
software it's not like engineering something easy like a bridge where you start with a blueprint build it to spec then forget about it software is dynamic with a lot of moving parts and requirements that evolve over time developers build apps on top of a mountain of abstractions and nobody fully understands how every layer works that's okay because we just need to make sure that our code matches the requirements of the product test driven development is scientifically proven to reduce defects and improve the maintainability of a code base but it does require some additional effort one option is manual testing where a human being clicks on every button and fills out every form then assigns a bunch of jira tickets so they can be backlogged by the developers but that's not very efficient for a large scale product a better approach is to use automated testing tools that allow developers to write code for the sole purpose of testing the main application code in a code base you'll often find files that end in test or dot spec inside you'll first find a line of code that describes the feature or thing that's being tested that's known as a test suite and it contains one or more individual tests an individual test usually starts with it followed by a description of what is being tested the idea is to describe the behavior of the code in human readable terms inside the test the code will be executed then one or more expectations or assertions are used to check that the code produces the expected result if the expectation returns false then the test fails if it's true it passes test runners like jest or karma can run all your tests automatically in the background or on a continuous integration server before you deploy now there are many different automated testing strategies that you should be aware of at the most granular level we have unit testing which is designed to test individual functions or methods like does this function return the proper value when given the arguments of a and b then we have integration testing to determine how well different components or modules work together like is the component able to use the database service to get data from the server at the highest level we have end-to-end testing which usually happens in a mock browser or device and simulates actual user behaviors like clicking on buttons and filling out forms it's like having a robot to do all your manual testing for you and that's not all there are many other types like performance and smoke testing which i'll explain in my upcoming test driven development breakdown hit the like button if you want to see more short videos like this thanks for watching and i will see you in the next one
Info
Channel: Fireship
Views: 298,002
Rating: undefined out of 5
Keywords: webdev, app development, lesson, tutorial, software, tdd, bdd, software testing, tech, programming, coding, code, code testing
Id: u6QfIXgjwGQ
Channel Id: undefined
Length: 2min 16sec (136 seconds)
Published: Mon May 24 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.