QA Analyst Challenge part 3
Tell me and I forget, teach me and I may remember, involve me and I learn.”
You have made it this far, but the previous step will not compare to the next ones. Phase 2 has begun. This phase may be the longest or shortest phase based on your ability to retain information or ask questions. We can go through these steps together and and have video chats to learn together if you find that helpful.
My goal in this phase is to make sure you understand the following concepts:
- Today’s Approach to Modern application development understanding the 12 factor app
- Understanding the position that QA testing plays in the overall process of creating software.
- Understanding popular QA software tools and what they do (keeping it simple stupid)
- Study the complexities and capabilities of QA testing tools
- Find the right study material with certifications to validate your new skills.
BLOGGING!!! BLOGGING?!?
These blog posts are going to be sooo long! When am I going to start testing! Well, guess what! your already on the right path. This will be the last blog you will write. The reason for writing these blogs is to help you get hired as a software tester. Software testers is still considered an entry level position, however, with these blog posts and the future certifications they may help push you to land your first job into higher level positions. Some recruiters may skip through all this and just try to find you a job as a software tester so they can get paid, but the companies and recruiters that are looking to pay the big bucks and find the right fit will definitely appreciate the work and blogs you are writing.
These blogs will also help you control your technical career path. If I were to have started my blog when I first started I could write a sell a book on Devops and the changes its had over the years. Lets move on to the next steps.
12 Factors of modern application development
The 12 factor app is a popular approach on how software is delivered as a service in todays growing world. The link to the 12 factor app will bring you to the 12factor.net which will break down how popular products like Facebook, Instagram, Twitter, DoorDash, and other apps have been developed. Finding a proper structure/guideline for making software makes it easier to build these platforms with speed and efficiency. It’s the same as having a blueprint for making a car and having factories push out 100’s of cars a day.
First Blog Post: Todays software stacks
The 12 factor app goes into detail about all the steps, features, and functions of how modern software is built, but, it is not your responsibility to understand every aspect of this. We will however need to test your skills and write your first blog post. Your challenge is to read the 12 factor app page, watch the list of videos below, and write a blog about how QA testing can be used in each factor of the 12 factor app (or how a test can be ran in each component to secure and strengthen that component.) The blog may end up feeling extensive and long. If it helps it may be easier to break down each factor of the 12 factors into paragraphs.
Once you have completed this challenge you will need to email me with a similar format listed below:
` Subject: QA Challenge Phase 2 blog post 1 Body: Finished my first blog post. Check it out here (add your github blog post link to the email) `
Second Blog Post: Tests and Triggers
Your second blog post will be part of explaining some of the common QA testing variables and principles used in test automation. This blog post will help validate your understanding of common phrases and approaches to QA testing. The videos and links above should help shape your blog. Here is a list of some of the phrases I brought up at the beginning of this challenge and a few more. Your challenge is to write another blog post explaining different types of testing and compare them to a specific field or subject. The Git vs Github blog post that I wrote is an example of how I explained what git is, what Github is, and how it relates to the popular Pokemon Franchise. You can explain these test scenarios below in your blog by explaining how its used in the wild. A good example is how car companies uses these test phrases or how a kitchen/ restaurant may use these tests when adding new items to a menu. Try and make this blog as simple to read and understand as possible. Successful blog are ones that can teach or share something simple enough to explain to a 5 year old or easy enough for someone who understands a concept can comprehend.
`
— use case testing - testing how and if users will test the website. (will the website be used for the intention it was built?)
— unit test - breaking down small units of code to make sure it works
— smoke testing - pulling the application into an iso env to run it and make sure its not smoking
— regression testing - instead of ensuring the functionality of the system we want to ensure the functionality
of a system with a new feature added.
— End To End testing - e2e - testing all components of the application from front to back to ensure stability
Black Box Testing – checking a systems stability and performance (checking load of a system or if a system might crash)
`
Once you have completed this challenge you will need to email me with a similar format listed below:
` Subject: QA Challenge Phase 2 blog post 2 Body: Finished my second blog post. Check it out here (add your github blog post link to the email) `
Third Blog Post: Keeping it Agile
Your last challenge and blog post will be focused on understanding Agile and what it means in the IT world. This blog can be as long or as short as you would like it. The goal in this blog is to demonstrate that you have a general idea and understanding of what Agile, why its used, and answer interview questions based on the Agile approach. There is a common phrase in the industry that if you ask 10 people what Agile is you will get 10 different answers.
In business definition of Agile is as follow:
Agile is an iterative approach to project management and software development that helps teams deliver value to their customers faster and with fewer headaches.
In Ted’s Terms: Agile is a structured method of planning that helps organize updates, changes, releases, or priorities to software to allow an easier way to get work done.
Agile has been broken down into 12 Principles in whats called the Agile Manifesto. You can click the link or read them below.
` The following 12 Principles are based on the Agile Manifesto.
1 - Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
2 - Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
3 - Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
4 - Business people and developers must work together daily throughout the project.
5 - Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
6 - The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
7 - Working software is the primary measure of progress.
8 - Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
9 - Continuous attention to technical excellence and good design enhances agility.
10 - Simplicity–the art of maximizing the amount of work not done–is essential.
11 - The best architectures, requirements, and designs emerge from self-organizing teams.
12 - At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. `
Your challenge is to write a blog explaining your understanding of the 12 principals of agile and if you have noticed these principals at your current or previous jobs. The beginning of the blog post should explain in one sentence (like I did above) what Agile means to you. This will help validate your understanding of agile. I have found that many recruiters, or managers for that matter, know the definition of some buzz words in the industry but may not know how to explain them. Writing this blog post will allow you to go back and read this before a meeting or point to it in an interview when someone asks so that they can read it themselves and impress them with the fact that you have a website and blogs your are writing.
Next Steps
Our Next Step includes studying for a free certification. By the time your at this point you should have a strong understanding of general concepts Quality Assurance Testing and Software Structures in the tech industry. If you are at this point you have done a lot of the groundwork needed to start applying for jobs. Now the fun part starts. The next steps will be all about study material and getting certified.
“Experience is a master teacher, even when it’s not our own.”
Consider watching this video to help with getting another perspective on considering a Career In Software Testing? A real world experience based alternative view.
Once you have completed this challenge you will need to email me with a similar format listed below:
Subject: QA Challenge Phase 2 completed
Body: Im ready to get certified and move on to the next QA challenge.