A visual overview of useful skills to learn as a web developer
See the codeWeb Skills is a visual overview of useful skills to learn as a web developer. Go to https://andreasbm.github.io/web-skills to check out the visual overview or scroll through this readme to get the overview as a list. If you like the project you are very welcome to become a stargazer 🤩
Web Skills is a visual overview of useful skills to learn as a web developer. It is useful for people who just started learning about web development and for people who have been in the field for years and want to learn new things. As a beginner, I would encourage you not to see this website as the definitive list of what you need to know but as an example of what you can learn and where you can start. The skills are arranged in chronological order based on what learning path I recommend you to take but feel free to jump around freely.
The skills are derived from a combination of 10 years of experience, a bachelor in software engineering and what I personally find to be the most useful to know on a day-to-day basis. Therefore, you'll notice that it's missing a lot of things. For example, I am not a PHP developer - because of this, PHP is not included. If you were a PHP developer, this overview would probably look a lot different.
I am spending my spare time building Web Skills for free because I want to help people get into web development. My motivation comes from people finding Web Skills useful, so if you like the project feel free to support me in any way you like! For example, you are more than welcome to become a stargazer, share Web Skills with your friends and followers or create blog articles linking to Web Skills. If you want to, it will absolutely make my day if you support me with a cup of coffee! <3
You are welcome to get involved in any way you like. If you want to, you can go to the issues page and help me fix the spelling, fix issues or suggest some new features. Any involvement is highly appreciated!
If you scroll to the bottom of the page, you will find a button that says "Sign in with Google". If you click this button and sign in, you will be able to mark skills as completed.
I totally understand if you are a bit overwhelmed by the amount of skills on the page – but I can assure you that this overview includes much, much more than most people will ever need to know. My main goal is to provide a visual overview of web development and make people hungry for learning more. One of the things I absolute love about being a developer is learning new skills. I think it is amazing to be in a field where you can do what you do for a lifetime and still learn something new! People cannot be an expert in every skill on this page so try to find what excites you the most and become really good at that.
The skills are based on what I personally find to be the most useful on a day-to-day basis. If you think something really important is missing, you can always suggest it on the issues page.
When a skill is described as experimental, it means that the technology is immature and currently in the process of being added to the Web platform (or considered for addition). Think carefully before you start using experimental technology in any kind of production project. The definition used in Web Skills is based on the excellent definition used on MDN. You are very welcome to open an issue if you see a skill you believe should be marked as "experimental" or have the banner removed.
Reach out to me on Twitter at @AndreasMehlsen or take a look at my website if you want to learn more about what other projects I'm working on.
Learn the basics of HTML and get comfortable with it's syntax and main concepts.
Get familiar with the basic HTML tags
Learn how to design efficient forms, validating them effectively and keeping the user informed along the way.
Learn how to make your content search-friendly.
Learn how to structure your HTML in a way that provides a rich experience when sharing it online.
Learn how to work with SVG files to make graphics look crisp across all screen resolutions.
Learn the best practices of writing HTML.
Learn the basics of CSS and get comfortable with it's syntax and main concepts.
Learn about CSS selectors and how to effeciently target DOM elements.
Learn what specificity means and how to use it when writing CSS.
Learn how to use pseudo selectors.
Learn what the CSS box model means.
Learn about margin collapsing.
Learn the different ways you can define colors in CSS.
Learn how to use the CSS calc function.
Learn the different layout types for web.
Learn how to create layouts using flexbox.
Learn how to create layouts using CSS Grid.
Learn the different ways to transform elements through CSS.
Learn how to animate elements through CSS using keyframes.
Learn how to make your website responsive so it works across different screen sizes.
Learn how use media queries to build responsive layout.
Learn how to use relative units for properties such as font sizes and spacing.
Learn how to make images responsive, always showing the best possible version for the screen size.
Learn how to define and use CSS variables.
Learn the best practices of writing CSS.
Learn the basics of Javascript and get comfortable with it's syntax and main concepts.
Learn how the spread syntax can help you when working with arrays.
Learn how destructuring can help you when working with objects.
Learn how the HTML is represented as objects that comprise the structure and content of a document.
Learn how to query HTML elements through Javascript and manipulate them.
Learn how to dispatch and listen for events.
Learn how to create and use objects.
Learn how to extend objects and functions through its prototype.
Learn how to define and use classes. Get somewhat comfortable with some of the object oriented concepts such as inheritence and encapsulation.
Learn how to use regex to extract information from strings.
Learn how template literals and tagged templates and help you manipulate strings.
Learn how to use promises and what asynchronous code means.
Learn how to use callbacks and why they are not always a good idea.
Learn how to use the async and await keywords to make it easier to write asynchronous code.
Learn how to use the fetch API to fetch data.
Learn how to use web animations to animate elements in the DOM.
Learn how to modularize your code into ES6 modules using the export and import keywords.
Learn how to localize your website using the Intl API.
Learn how to paint graphics onto a canvas.
Learn how to create good documentation and why it is important.
Learn the best practices of writing Javascript.
Learn why web standards are important and how new specifications are standardised.
Learn what W3C are doing and how they are moving the web forward.
Learn what TC39 are doing and how they are moving the web forward.
Learn what WHATWG are doing and how they are moving the web forward.
Learn how to read specifications developed by the standards committees.
Learn what a browser engine is and get an overview of the browser landscape and market share.
Learn about the Webkit browser engine.
Learn about the Blink browser engine.
Learn about the Gecko browser engine.
Learn how data is distributed through the HTTP protocol.
Learn the basics of how the internet works.
Learn how it is possible to use polyfills to increase the browser support for your website.
Learn about the basics concepts of debugging.
Learn how to use the developer console to debug your code.
Learn what accessibility is and why it is important.
Learn about assistive technology such as screen readers that reads sections of the page aloud based on the current focus.
Learn about the accessibility tree and how assistive technology uses it.
Learn how to use ARIA descriptions an labels to help assistive technology understanding your website.
Learn how to write HTML in such as way that assistive technology better understands it.
Learn how to use the alt attribute to provide a useful text alternative to this image.
Learn how to write CSS in such as way that assistive technology better understands it.
Learn how to build accessible forms that makes it usable to as many people as possible.
Learn how to make the state of each UI element clear.
Learn how to make it easy for keyboard users to navigate your site.
Learn how to create a sensible tab order and how to make it easy for the users to locate the currently focused element.
Learn how to select colors in such a way that users, including those with visual disabilities, can perceive the content on the page.
Learn about the governmental policies related to web accessibility.
Learn how to conduct an accessibility review to improve the overall experience of using your site. Remember, good accessibility equals good UX!
Learn how to create new HTML tags with Custom Elements.
Learn how to use HTML templates to create flexible templates that can then be used to populate the Shadow DOM.
Learn how to encapsulate your CSS using Shadow DOM.
Learn how to style the inside of a shadow tree from outside of that Shadow Tree by using Shadow Parts.
Learn how to compose Custom Elements by using slots.
Get familiar with best practices when it comes to building Web Components.
Learn how the Constructible Stylesheets proposal enables reusable styles when using shadow dom.
Learn how the Form Participation API proposal enables elements, other than built-in form control elements, to participate in form submission and validation.
Learn how to store data for your web app.
Learn what routing means in single page applications.
Learn how to use the history API to add single page applicaiton routing to your web app.
Learn how to register a service worker to provide a rich native-like experience.
Learn how to make your web app working offline with an offline first approach.
Learn how to add push notifications to your web app.
Learn how to tell the browser about your web app and how it should behave when 'installed' by creating a web app manifest.
Learn how to make your web app installable.
Learn how to handle inputs from pointing devices such as a mouse, pen/stylus or touch.
Learn how to use an app shell to provide an instant and reliable experience to users on repeat visits
Learn about render-blocking resources and why they are bad for the user-experience.
Learn how to minimize the overall download size by optimizing and compressing resources.
Learn why it is important to measure performance and which metrics you should prioritize.
Learn about Largest Contentful Paint and how it impacts the overall performance.
Learn about Total Blocking Time and how it impacts the overall performance.
Learn about Time to Interactive and how it impacts the overall performance.
Learn how to use lazy loading to lower the initial page payload and load time.
Learn how to use dynamic import to lazy load javascript.
Learn why offscreen images increase the load time and how to avoid them by lazy loading images.
Learn about the critical request chains and how to find them in your web app.
Learn how to use tree shaking to eliminate dead code.
Learn about codesplitting an how dividing your code into multiple chunks makes your web app faster.
Learn how to use the PRPL pattern to make web apps more performant.
Learn about resource prioritization and how to inform the browser about the importance of a resource.
Learn about caching and how it can be uses to make web apps load faster.
Learn about rendering, how a page is rendered and why it is important to keep your web app interactive and smooth running.
Learn about the event loop and how Javascript simulate like it’s running our commands in a multi-thread environment.
Learn about microtasks and the microtask queue.
Learn about the stack and how to investigate the staack trace when debugging.
Learn about the heap and how to investigate the heap snapshots when debugging.
Learn how to use the RAIL model to ensure a good user experience.
Learn how to use the requestAnimationFrame API to create butter-smooth animations.
Learn how to use the requestIdleCallback to defer heavy tasks.
Learn about the critical rendering path and how to identify it.
Learn about the five key points in the pixels-to-screen pipeline.
Learn how to optimize your CSS to avoid heavy style calculations.
Learn about transforms and how it is possible to avoid both layout and paint.
Learn about paint areas and how it is possible to reduce them.
Learn about layout trashing and how to avoid it.
Learn about layers and how to promote an element to another layer.
Learn how to debounce computationally expensive code to avoid blocking the UI.
Learn how to use CSS containment to improve the performance of your web app.
Learn how to use web workers to run a script operation in a background thread separate from the main execution thread.
Learn about HTTPS and why a website should always be protected with HTTPS.
Learn about the sandbox security mechanism and how it restricts the execution environment.
Learn about the OWASP organization and how they help with web application security.
Learn about cross-site scripting and how it is possible mitigate these kind of attacks.
Learn about clickjacking and how it is possible to mitigate these kind of attacks.
Learn about content security policy and how it can help to detect and mitigate certain types of attacks.
Learn about performance budgets and how you can create one for your web app.
Learn about lighthouse and how it can be used to audit your web app.
Learn about the Chrome DevTools and how it can be used to audit your web app.
Learn about package managers and how they make managing dependencies easier.
Learn about NPM and how it can be used to manage dependencies.
Learn about Yarn and how it can be used to manage dependencies.
Learn about module bundler and how they can help bundling your code.
Learn how you can use Rollup to bundle your code.
Learn how you can use Webpack to bundle your code.
Learn how you can use Parcel to bundle your code.
Learn how Snowpack can replace the traditional app bundler during development.
Learn how you can improve your code quality with linters and formatters.
Learn how you can use Prettier to format your code.
Learn how you can use ESLint to lint your code.
Learn about task runners and how you can automate code execution.
Learn about NPM scripts and how you can run your own.
Learn what transpilers are and why we need them.
Learn about Babel and how you can use it to transpile your code.
Learn how to use Typescript and how it can help making your code typesafe.
Learn about CSS pre-processors and why we need them.
Learn about SASS and how you can use it to simplify your styles.
Learn about PostCSS and how you can use its ecosystem of plugins to extend your CSS build pipeline.
Learn how to use Node.js.
Learn how to use lit-element for creating fast, lightweight web components.
Learn about Vue and how you can use it for building web apps.
Learn about React and how you can use it for building web apps.
Learn about Angular and how you can use it for building web apps.
Learn about Svelte and how it can convert your component into highly efficient imperative code.
Learn how Stencil can be used for generating small, fast web components.
Learn about various software testing methodologies and why it is important to test your code.
Learn about unit testing and how it can be used to test individual units of code.
Learn about integration testing and how it can be used to test modules as a group.
Learn about system testing and how it can be used to test the fully integrated software product.
Learn about acceptance testing and how it can be used to test the software for acceptability
Learn about smoke testing and how it can be used to ensure that critical functionalities of the program are working fine.
Learn about performance testing and how it can be used to determine the responsiveness and stability of a program.
Learn about usability testing and how it can be used to determine if the system is easily usable for the end-user.
Learn about white box testing and how it can be used to test the software's internal structure, design, and coding.
Learn about black box testing and how a test can be carried out without looking at the internal code.
Learn about automated testing and when it should be applied.
Learn about manual testing and when it should be applied.
Learn about continuous integration and it can enable iterative software development.
Learn about A/B testing and how it can be used to optimize your web app.
Learn about test runners and how they can help running tests.
Learn about the Karma test runner.
Learn about the Mocha testing framework.
Learn about the Jasmine testing frameworks.
Learn how to use Cypress for end-to-end-testing.
Learn about the Ava test runner.
Learn about the best practices when it comes to testing.
Learn how programming languages can be categoried into different paraigmes based on their features.
Learn about object oriented programming and how objects can make your code easier to read and debug.
Learn about the SOLID design pricinples that can make your code more understandable, flexible and maintainable.
Learn about functional programming and how it can make your code easier to read and debug.
Truncated — view the full README on GitHub.
(top 24 of 27)
465 followers · starred May 2020
276 followers · starred Apr 2020
177 followers · starred Sep 2020
203 followers · starred May 2020
A visual overview of useful skills to learn as a web developer
See the codeWeb Skills is a visual overview of useful skills to learn as a web developer. Go to https://andreasbm.github.io/web-skills to check out the visual overview or scroll through this readme to get the overview as a list. If you like the project you are very welcome to become a stargazer 🤩
Web Skills is a visual overview of useful skills to learn as a web developer. It is useful for people who just started learning about web development and for people who have been in the field for years and want to learn new things. As a beginner, I would encourage you not to see this website as the definitive list of what you need to know but as an example of what you can learn and where you can start. The skills are arranged in chronological order based on what learning path I recommend you to take but feel free to jump around freely.
The skills are derived from a combination of 10 years of experience, a bachelor in software engineering and what I personally find to be the most useful to know on a day-to-day basis. Therefore, you'll notice that it's missing a lot of things. For example, I am not a PHP developer - because of this, PHP is not included. If you were a PHP developer, this overview would probably look a lot different.
I am spending my spare time building Web Skills for free because I want to help people get into web development. My motivation comes from people finding Web Skills useful, so if you like the project feel free to support me in any way you like! For example, you are more than welcome to become a stargazer, share Web Skills with your friends and followers or create blog articles linking to Web Skills. If you want to, it will absolutely make my day if you support me with a cup of coffee! <3
You are welcome to get involved in any way you like. If you want to, you can go to the issues page and help me fix the spelling, fix issues or suggest some new features. Any involvement is highly appreciated!
If you scroll to the bottom of the page, you will find a button that says "Sign in with Google". If you click this button and sign in, you will be able to mark skills as completed.
I totally understand if you are a bit overwhelmed by the amount of skills on the page – but I can assure you that this overview includes much, much more than most people will ever need to know. My main goal is to provide a visual overview of web development and make people hungry for learning more. One of the things I absolute love about being a developer is learning new skills. I think it is amazing to be in a field where you can do what you do for a lifetime and still learn something new! People cannot be an expert in every skill on this page so try to find what excites you the most and become really good at that.
The skills are based on what I personally find to be the most useful on a day-to-day basis. If you think something really important is missing, you can always suggest it on the issues page.
When a skill is described as experimental, it means that the technology is immature and currently in the process of being added to the Web platform (or considered for addition). Think carefully before you start using experimental technology in any kind of production project. The definition used in Web Skills is based on the excellent definition used on MDN. You are very welcome to open an issue if you see a skill you believe should be marked as "experimental" or have the banner removed.
Reach out to me on Twitter at @AndreasMehlsen or take a look at my website if you want to learn more about what other projects I'm working on.
Learn the basics of HTML and get comfortable with it's syntax and main concepts.
Get familiar with the basic HTML tags
Learn how to design efficient forms, validating them effectively and keeping the user informed along the way.
Learn how to make your content search-friendly.
Learn how to structure your HTML in a way that provides a rich experience when sharing it online.
Learn how to work with SVG files to make graphics look crisp across all screen resolutions.
Learn the best practices of writing HTML.
Learn the basics of CSS and get comfortable with it's syntax and main concepts.
Learn about CSS selectors and how to effeciently target DOM elements.
Learn what specificity means and how to use it when writing CSS.
Learn how to use pseudo selectors.
Learn what the CSS box model means.
Learn about margin collapsing.
Learn the different ways you can define colors in CSS.
Learn how to use the CSS calc function.
Learn the different layout types for web.
Learn how to create layouts using flexbox.
Learn how to create layouts using CSS Grid.
Learn the different ways to transform elements through CSS.
Learn how to animate elements through CSS using keyframes.
Learn how to make your website responsive so it works across different screen sizes.
Learn how use media queries to build responsive layout.
Learn how to use relative units for properties such as font sizes and spacing.
Learn how to make images responsive, always showing the best possible version for the screen size.
Learn how to define and use CSS variables.
Learn the best practices of writing CSS.
Learn the basics of Javascript and get comfortable with it's syntax and main concepts.
Learn how the spread syntax can help you when working with arrays.
Learn how destructuring can help you when working with objects.
Learn how the HTML is represented as objects that comprise the structure and content of a document.
Learn how to query HTML elements through Javascript and manipulate them.
Learn how to dispatch and listen for events.
Learn how to create and use objects.
Learn how to extend objects and functions through its prototype.
Learn how to define and use classes. Get somewhat comfortable with some of the object oriented concepts such as inheritence and encapsulation.
Learn how to use regex to extract information from strings.
Learn how template literals and tagged templates and help you manipulate strings.
Learn how to use promises and what asynchronous code means.
Learn how to use callbacks and why they are not always a good idea.
Learn how to use the async and await keywords to make it easier to write asynchronous code.
Learn how to use the fetch API to fetch data.
Learn how to use web animations to animate elements in the DOM.
Learn how to modularize your code into ES6 modules using the export and import keywords.
Learn how to localize your website using the Intl API.
Learn how to paint graphics onto a canvas.
Learn how to create good documentation and why it is important.
Learn the best practices of writing Javascript.
Learn why web standards are important and how new specifications are standardised.
Learn what W3C are doing and how they are moving the web forward.
Learn what TC39 are doing and how they are moving the web forward.
Learn what WHATWG are doing and how they are moving the web forward.
Learn how to read specifications developed by the standards committees.
Learn what a browser engine is and get an overview of the browser landscape and market share.
Learn about the Webkit browser engine.
Learn about the Blink browser engine.
Learn about the Gecko browser engine.
Learn how data is distributed through the HTTP protocol.
Learn the basics of how the internet works.
Learn how it is possible to use polyfills to increase the browser support for your website.
Learn about the basics concepts of debugging.
Learn how to use the developer console to debug your code.
Learn what accessibility is and why it is important.
Learn about assistive technology such as screen readers that reads sections of the page aloud based on the current focus.
Learn about the accessibility tree and how assistive technology uses it.
Learn how to use ARIA descriptions an labels to help assistive technology understanding your website.
Learn how to write HTML in such as way that assistive technology better understands it.
Learn how to use the alt attribute to provide a useful text alternative to this image.
Learn how to write CSS in such as way that assistive technology better understands it.
Learn how to build accessible forms that makes it usable to as many people as possible.
Learn how to make the state of each UI element clear.
Learn how to make it easy for keyboard users to navigate your site.
Learn how to create a sensible tab order and how to make it easy for the users to locate the currently focused element.
Learn how to select colors in such a way that users, including those with visual disabilities, can perceive the content on the page.
Learn about the governmental policies related to web accessibility.
Learn how to conduct an accessibility review to improve the overall experience of using your site. Remember, good accessibility equals good UX!
Learn how to create new HTML tags with Custom Elements.
Learn how to use HTML templates to create flexible templates that can then be used to populate the Shadow DOM.
Learn how to encapsulate your CSS using Shadow DOM.
Learn how to style the inside of a shadow tree from outside of that Shadow Tree by using Shadow Parts.
Learn how to compose Custom Elements by using slots.
Get familiar with best practices when it comes to building Web Components.
Learn how the Constructible Stylesheets proposal enables reusable styles when using shadow dom.
Learn how the Form Participation API proposal enables elements, other than built-in form control elements, to participate in form submission and validation.
Learn how to store data for your web app.
Learn what routing means in single page applications.
Learn how to use the history API to add single page applicaiton routing to your web app.
Learn how to register a service worker to provide a rich native-like experience.
Learn how to make your web app working offline with an offline first approach.
Learn how to add push notifications to your web app.
Learn how to tell the browser about your web app and how it should behave when 'installed' by creating a web app manifest.
Learn how to make your web app installable.
Learn how to handle inputs from pointing devices such as a mouse, pen/stylus or touch.
Learn how to use an app shell to provide an instant and reliable experience to users on repeat visits
Learn about render-blocking resources and why they are bad for the user-experience.
Learn how to minimize the overall download size by optimizing and compressing resources.
Learn why it is important to measure performance and which metrics you should prioritize.
Learn about Largest Contentful Paint and how it impacts the overall performance.
Learn about Total Blocking Time and how it impacts the overall performance.
Learn about Time to Interactive and how it impacts the overall performance.
Learn how to use lazy loading to lower the initial page payload and load time.
Learn how to use dynamic import to lazy load javascript.
Learn why offscreen images increase the load time and how to avoid them by lazy loading images.
Learn about the critical request chains and how to find them in your web app.
Learn how to use tree shaking to eliminate dead code.
Learn about codesplitting an how dividing your code into multiple chunks makes your web app faster.
Learn how to use the PRPL pattern to make web apps more performant.
Learn about resource prioritization and how to inform the browser about the importance of a resource.
Learn about caching and how it can be uses to make web apps load faster.
Learn about rendering, how a page is rendered and why it is important to keep your web app interactive and smooth running.
Learn about the event loop and how Javascript simulate like it’s running our commands in a multi-thread environment.
Learn about microtasks and the microtask queue.
Learn about the stack and how to investigate the staack trace when debugging.
Learn about the heap and how to investigate the heap snapshots when debugging.
Learn how to use the RAIL model to ensure a good user experience.
Learn how to use the requestAnimationFrame API to create butter-smooth animations.
Learn how to use the requestIdleCallback to defer heavy tasks.
Learn about the critical rendering path and how to identify it.
Learn about the five key points in the pixels-to-screen pipeline.
Learn how to optimize your CSS to avoid heavy style calculations.
Learn about transforms and how it is possible to avoid both layout and paint.
Learn about paint areas and how it is possible to reduce them.
Learn about layout trashing and how to avoid it.
Learn about layers and how to promote an element to another layer.
Learn how to debounce computationally expensive code to avoid blocking the UI.
Learn how to use CSS containment to improve the performance of your web app.
Learn how to use web workers to run a script operation in a background thread separate from the main execution thread.
Learn about HTTPS and why a website should always be protected with HTTPS.
Learn about the sandbox security mechanism and how it restricts the execution environment.
Learn about the OWASP organization and how they help with web application security.
Learn about cross-site scripting and how it is possible mitigate these kind of attacks.
Learn about clickjacking and how it is possible to mitigate these kind of attacks.
Learn about content security policy and how it can help to detect and mitigate certain types of attacks.
Learn about performance budgets and how you can create one for your web app.
Learn about lighthouse and how it can be used to audit your web app.
Learn about the Chrome DevTools and how it can be used to audit your web app.
Learn about package managers and how they make managing dependencies easier.
Learn about NPM and how it can be used to manage dependencies.
Learn about Yarn and how it can be used to manage dependencies.
Learn about module bundler and how they can help bundling your code.
Learn how you can use Rollup to bundle your code.
Learn how you can use Webpack to bundle your code.
Learn how you can use Parcel to bundle your code.
Learn how Snowpack can replace the traditional app bundler during development.
Learn how you can improve your code quality with linters and formatters.
Learn how you can use Prettier to format your code.
Learn how you can use ESLint to lint your code.
Learn about task runners and how you can automate code execution.
Learn about NPM scripts and how you can run your own.
Learn what transpilers are and why we need them.
Learn about Babel and how you can use it to transpile your code.
Learn how to use Typescript and how it can help making your code typesafe.
Learn about CSS pre-processors and why we need them.
Learn about SASS and how you can use it to simplify your styles.
Learn about PostCSS and how you can use its ecosystem of plugins to extend your CSS build pipeline.
Learn how to use Node.js.
Learn how to use lit-element for creating fast, lightweight web components.
Learn about Vue and how you can use it for building web apps.
Learn about React and how you can use it for building web apps.
Learn about Angular and how you can use it for building web apps.
Learn about Svelte and how it can convert your component into highly efficient imperative code.
Learn how Stencil can be used for generating small, fast web components.
Learn about various software testing methodologies and why it is important to test your code.
Learn about unit testing and how it can be used to test individual units of code.
Learn about integration testing and how it can be used to test modules as a group.
Learn about system testing and how it can be used to test the fully integrated software product.
Learn about acceptance testing and how it can be used to test the software for acceptability
Learn about smoke testing and how it can be used to ensure that critical functionalities of the program are working fine.
Learn about performance testing and how it can be used to determine the responsiveness and stability of a program.
Learn about usability testing and how it can be used to determine if the system is easily usable for the end-user.
Learn about white box testing and how it can be used to test the software's internal structure, design, and coding.
Learn about black box testing and how a test can be carried out without looking at the internal code.
Learn about automated testing and when it should be applied.
Learn about manual testing and when it should be applied.
Learn about continuous integration and it can enable iterative software development.
Learn about A/B testing and how it can be used to optimize your web app.
Learn about test runners and how they can help running tests.
Learn about the Karma test runner.
Learn about the Mocha testing framework.
Learn about the Jasmine testing frameworks.
Learn how to use Cypress for end-to-end-testing.
Learn about the Ava test runner.
Learn about the best practices when it comes to testing.
Learn how programming languages can be categoried into different paraigmes based on their features.
Learn about object oriented programming and how objects can make your code easier to read and debug.
Learn about the SOLID design pricinples that can make your code more understandable, flexible and maintainable.
Learn about functional programming and how it can make your code easier to read and debug.
Truncated — view the full README on GitHub.
(top 24 of 27)
465 followers · starred May 2020
276 followers · starred Apr 2020
177 followers · starred Sep 2020
203 followers · starred May 2020