At the beginning of 2020, I started my journey with the flatiron school to become a software engineer. My main goal was to learn to code to transition into tech, however, I have already been working in the tech industry back in the Dominican Republic as a Quality Assurance or manual testing. I never used automation testing before, although I was training myself to do so before moving to the USA.
Now that I have graduated from Flatiron School and I have been interviewing and getting exposure to the fields I'm able to work with this discipline. As an example of which position I've been applying for, I’ve interviewed for Software Development Engineer in Test. Here I can continue my career in software and will be able to implement my previews experience in QA.
Now I’m going to give you a little intro to automation testing.
So, What is automation testing?
Automated testing is a process that validates if a software is functioning appropriately and meeting requirements before it is released into production. This software testing method uses scripted sequences that are executed by testing tools. … Automated tests can run repeatedly at any time of day.
In order words, you build an application and you start to do manual testing to see that it's working correctly. Now you add a new feature and you want to test that and so on. Doing this will take a high amount of time, but, if you write some scripts to test your code then this process will be faster.
This is how this process will look like:
< your code > <--------- Modify and Fix
| |
| |
[ Expected result ] |
| |
| |
< test case > | / \ |
/ \ |
/ \ |
[ Success ] [ failure ] <----
The preview example shows how the workflow for testing works. First, you have your code for your application and you have an expected result. So you write your test case to evaluate if the result you are expecting is going to trigger correctly. After you run your test you will have two scenarios. Success: This is good so let's move on, or Failure: let's go back to my code and fix it.
Why test?
- Get an error with specific information as to why you are getting that error and breaking your code.
- Save time.
- help you think about possible issues or bugs within the application.
- Integrate into build workflow.
- break up complex dependencies.
- Improve your coding skills
What type of text do we have in automation testing?
Fully Isolated: This is when you are testing one function. This is Unit testing.
With dependencies: testing a function that calls a function. This is integration testing.
Full flow: validation of the DOM after a click. This is called end-to-end testing or E2E
The complexity of this test will vary depending on which one you are using. The more dependencies you add the more complex it will be. So, for the next post, we will start wiring out our first test and I'm going to do a unit test.
Happy coding and see you next time.