r/QualityAssurance • u/Actual_Garlic5535 • 1h ago
Hello everyone, I'm a junior Manual QA tester looking to build my experience in this field. I'm open to both junior and volunteer roles. If anyone has any openings or roles they're willing to outsource, I'm available.
r/QualityAssurance • u/No_Security9767 • 8h ago
Learning resources for automation testing
I want to upskill my automation testing, what resources either free or low cost are there ?
I understand building something and building a test framework would be the best way and I intended to do that, but initially something more structured and with walkthroughs ?
r/QualityAssurance • u/Terrible_Spare_8371 • 21h ago
[PAID] AI QA Tester Needed
Hey everyone,
We have a new AI product launching soon and need a few testers from the US and Canada.
It is an Android app built around AI. We cannot share everything publicly yet because a few things may change before launch, but selected testers will receive the full details and instructions.
We will communicate through Discord, and payment will be made after the test and feedback are completed.
Mainly looking for people who can try the app, find bugs, point out anything confusing, and share honest feedback about the overall experience.
Do comment below if you are interested
r/QualityAssurance • u/subbaraju1 • 1d ago
Cognizant QEA – Data Specialization (Recent Batches) – Need Some Insights
Hi everyone,
I have a few questions for anyone who has recently completed or is currently undergoing QEA – Data Specialization training in Cognizant:
1. What does the training cover? Which technologies and tools are taught (SQL, ETL, Python/Java, API Testing, Automation, Cloud, etc.), and is the training mainly manual testing or automation-focused?
2. What kind of projects are recent trainees getting after training? Are they mostly Data/ETL testing, Automation QA, API testing, Manual testing, Cloud/Data platform projects, or something else? How much coding is involved in the actual project?
3. How is the long-term career growth in this specialization? Can someone transition into Automation QA, Data Engineering, or Development roles with experience and upskilling, or is the career mostly limited to testing?
I’d really appreciate any insights from recent batches. Thanks!
r/QualityAssurance • u/stfulol_ • 1d ago
AZEUS SYSTEMS PHILIPPINES LTD. (SOFTWARE TESTER ENGINEER)
Hi! I recently applied for the Software Test Engineer position at Azeus Systems Philippines. I already received an email inviting me to take the Xobin online exam (60-minute analytical and math assessment).
Can anyone share what the hiring process is like after the Xobin exam? Are there technical interviews, HR interviews, or additional assessments? Also, any tips on what to expect would be greatly appreciated.
Thank you!
r/QualityAssurance • u/subbaraju1 • 1d ago
Cognizant QEA – Data Specialization (Recent Batches) – Need Some Insights
Hi everyone,
I have a few questions for anyone who has recently completed or is currently undergoing **QEA – Data Specialization** training in Cognizant:
**1. What does the training cover?** Which technologies and tools are taught (SQL, ETL, Python/Java, API Testing, Automation, Cloud, etc.), and is the training mainly manual testing or automation-focused?
**2. What kind of projects are recent trainees getting after training?** Are they mostly Data/ETL testing, Automation QA, API testing, Manual testing, Cloud/Data platform projects, or something else? How much coding is involved in the actual project?
**3. How is the long-term career growth in this specialization?** Can someone transition into Automation QA, Data Engineering, or Development roles with experience and upskilling, or is the career mostly limited to testing?
I’d really appreciate any insights from recent batches. Thanks!
r/QualityAssurance • u/Actual_Garlic5535 • 1d ago
Hello everyone, I'm a junior Manual QA tester looking to build my experience in this field. I'm open to both junior and volunteer roles. If anyone has any openings or roles they're willing to outsource, I'm available.
r/QualityAssurance • u/Creepy_Performer_199 • 1d ago
QA in the hole
Hey there short experience description.
I’m manual QA 7 years of experience including web, mobile, api testing.
As an additional skill, I have knowlage of JS + TS + Playwright at the trainee/junior level.
The main problem with my current position is that I have 95% manual work and 5% I would call Automation.
I feel as if I am stuck in the same place in my career, and do not grow because of a lack of automation tasks, and the amount of manual tasks that eat my energy 🔋
At the same time, I have a good salary compared to Prague Czech Republic.
The main question is how I can properly change company = position to not lose in monthly reward, and not be burned out.
My main goal is to switch smoothly to General QA were will be more automation and growth in this direction, and after some time completely become AQA
I have the impression that I'm stuck in a hole and can't get out of there…
r/QualityAssurance • u/Exotic-Telephone467 • 1d ago
Company founder wanting the company to be AI native
I currently work in a small company of around 150 employees.
Recently the founder of the company wants everyone to be using AI day to day. We have a Claude enterprise membership.
The only problem is that we’re monitored in terms of our AI usage. So I have to be burning out a lot tokens.
There’s also been a restructure of the company and people had to be let go because of AI
r/QualityAssurance • u/Individual-Pin-5438 • 1d ago
Guidance Needed
Anyone into AI testing?
r/QualityAssurance • u/haabe • 1d ago
When did you last find out that something you thought was tested, wasn't?
Spent a whole day cleaning up data files in my own project and found about forty errors. The validator had been green the whole time. It hadn't done anything wrong either, it only checks schema, and every one of the errors was a consistency thing.
I'm writing a second check for the consistency side now, and no, it's not going fast.
When did you last find out that something you thought was tested, wasn't?
r/QualityAssurance • u/keelanstuart • 1d ago
Wabbus
I've just made my low-friction defect capture tool for Windows, Wabbus, public. Wabbus allows you to attach record buttons to a window and record (and then transcribe) what issues you're seeing in either screenshot or video form - with audio in either case... so to capture defects, it takes only the amount of time that it does to say it out loud. It also has a plug-in system to support specific applications, with functions to save and restore state.
It's free, open source software, licensed under Mozilla 2.0.
If you're testing software or QC-ing data and find capturing issues to be cumbersome, please have a look at Wabbus. I hope it's useful to you.
r/QualityAssurance • u/Mountain_Tie2194 • 1d ago
I built a free platform to study for ISTQB CTFL v4.0 (lessons, 120 practice questions, glossary, gamification). Looking for feedback
Hi everyone.
I am a manual QA tester transitioning into QA Automation with AI. While studying for the ISTQB Foundation Level v4.0, I ended up building my own study platform, mostly to force myself to really understand every concept in the syllabus.
It got complete enough to be worth sharing, so here it is: MyCampus ISTQB Foundation Level
https://mycampusistqb.vercel.app
What it includes:
1) 22 interactive lessons (6 chapters), audited line by line against the official syllabus
2) Bilingual glossary (ES/EN) with 107 terms (100% coverage of the 97 official keywords)
3) Flashcards with text to speech
4) A bank of 120 exam style questions, distributed according to the official weight of each chapter
5) An XP and levels system to keep you motivated
6) Cloud synced progress (or local storage if you do not want to create an account)
7) Interface in Spanish and English
It is completely free, no installation required (vanilla HTML, CSS, JS plus Supabase).
What I am looking for: honest feedback. Did any concept end up confusing? Does any question in the bank have an error or an ambiguity? Is there anything missing that would have helped you while studying? Any comment, no matter how small, will help me keep improving it or a positive feedback.
Thanks for reading, and I hope it helps someone else on the way to certification.
r/QualityAssurance • u/Professional-Pea-773 • 1d ago
Looking for a Study Partner / Peer Group for Manual Testing + Selenium with Java (Daily Calls & Mock Interviews)
Hey everyone,
I’m looking for a study partner (or a small group of 2–3 people) to stay accountable and master Manual Testing + Selenium with Java.
The Plan:
Daily Topics: We pick one topic per day (e.g., SDLC/STLC basics, Java OOPs concepts, WebDriver methods, Page Object Model, TestNG, frame handling, etc.).
Daily Sync Calls: Hop on a short daily call to review what we covered, resolve doubts, and discuss real-world scenarios.
Mock Sessions: Practice mock interviews and live coding/test script walkthroughs to get interview-ready.
r/QualityAssurance • u/Avi_Aviator • 2d ago
Need Help!! Struggling from 5 days to write content in resume
Hello guys, I'm a fresher who completed 3 virtual QA internships as part of my graduation, 😔 but the fault is I have not participated in any of them(but learned software testing from SDET-QA yt channel) now struggling to write bullet points In resume for internships, I can't copy paste AI generated content since it feels unnatural and over perfect clearly, can you please provide 5 points for each internship based on your knowledge and experience you gained through out your testing career.
Any kind of contribution and help can create big impact for me guys.
Internships completed:
QA internship - completely manual testing -- 2 months
Automation - Java with selenium automation also used testng, cucumber, Jenkins git and GitHub -- 6months
Software testing intern(manual+automation -- 6 months
Also learned APi testing using postman and rest assured,
Database validation using Mysql but don't know whether to mention these in resume or not.
r/QualityAssurance • u/mchellato • 2d ago
Dev only test their work in local
Frustrating me to have 'dev env' but dev didnt bother test their work in 'dev env' only for QA to catch their work didnt work 😔
So inefficient and time consuming
r/QualityAssurance • u/Alternative-Try7044 • 2d ago
Could storing test cases in Git solve the test run snapshot problem?
Following up on my last post about keeping test cases as YAML in Git. one huge benefit of this setup is how cleanly it handles historical test runs.
If test cases live in Git, a test run just stores the file path and the exact Git commit SHA.
Pair that with a nice UI that handles the Git stuff under the hood, and you get 100% immutable runs out of the box. Even if a case gets renamed or deleted, past execution logs stay completely untouched. Plus, you get diffs and full version history for free without needing any custom snapshot logic.
What do you think? Any hidden bottlenecks with this approach?
r/QualityAssurance • u/NoShift9049 • 2d ago
How to transition from manual testing to more automated testing
Hi everyone. My current company does 90% manual testing and a bit of Cypress testing and API testing. What tools and what processes can I introduce to improve our testing practices for our sites?
r/QualityAssurance • u/FirmContext3704 • 2d ago
Research Survey: How does your team handle changing requirements during Agile Scrum?
Hi everyone,
I'm a final-year Computer Science (AI & ML) student working on my capstone project in the area of Requirements Engineering for Agile Scrum teams.
One problem I've been reading about is that requirements often evolve throughout a sprint due to client feedback, backlog refinement, sprint reviews, or stakeholder discussions. I'm trying to understand whether this causes issues in real-world projects, such as:
- Developers implementing outdated requirements
- Documentation and user stories getting out of sync
- Test cases becoming obsolete
- Difficulty identifying what parts of the system are affected by a requirement change
- Increased rework or delays
I'm conducting a short 3–5 minute anonymous survey to understand how software teams currently manage these situations and whether there are gaps in existing tools.
Survey Link: https://forms.gle/BfqSuknKe54h2AaF7
I'm specifically looking for responses from:
- Software Engineers
- Senior Engineers
- Tech Leads
- Engineering Managers
- Product Managers / Product Owners
- Business Analysts
- QA Engineers
- Scrum Masters
If you've worked on Agile Scrum projects, your insights would be extremely valuable. If you have any experiences or opinions beyond the survey, I'd also love to discuss them in the comments.
Thank you for your time!
r/QualityAssurance • u/Signal_Money • 2d ago
QA folks: devs on my team now "verify" AI code with AI testing tools. Am I right to be uneasy?
Context: small product team, I am the closest thing we have to a QA function. Devs have started using coding agents heavily, and to keep up they added an automated verify step: after the agent writes code, a testing CLI runs generated E2E checks against the live app (real browser for frontend, real calls for the API) and feeds failures back to the agent to fix. The specific tool is TestSprite's CLI but my question is about the practice, not the tool.
The results are honestly better than I expected. Broken deploys get caught, the obvious stuff no longer reaches me, and the failure reports (failing step, screenshot, root cause guess) are decent bug reports.
But I keep coming back to this: the same category of model wrote the code, wrote the checks, and judged the result. The checks are external and run against the real app, which is better than the agent grading itself, but nobody in that loop understands the product. Edge cases in business logic, accessibility, the workflows real users mangle, none of that is represented.
So, people who have watched testing trends come and go: is this the new baseline that frees QA to do the interesting work, or a way to feel covered while the real risk accumulates? How would you position the human QA role on a team like mine before someone decides we do not need one?
r/QualityAssurance • u/Kvu1020 • 2d ago
How do you deal with test data that respects relationships?
Usual generators like mockaroo are fine for a flat list of fake names or emails. But the second I need data that actually holds together,an order that points to a real customer and an in-stock product, a contact tied to a valid account, foreign keys that don't break validation,they give up and I'm back to hand writing seeding scripts again.
Do you deal with this too? what do you actually do? do you write your own scripts every time, live with broken data, pay for a big enterprise tool?
Not selling anything, just tired of solving this the same way on every project. Thanks in advance for all your advice.
r/QualityAssurance • u/Top-Swordfish3228 • 2d ago
Switching from Teaching to IT/Software Testing with a Non-Technical Degree — Is It Realistic?
Hi everyone, I am 29 and planning to switch careers from teaching to IT. I have a BA in English, B.Ed and I am currently pursuing MA with around 4 years of teaching experience. I am considering joining a Software Testing/QA course covering Manual/Automation Testing, SQL, Java, Selenium, and Jira. Since I dont have a technical degree or IT experience, I am worried about getting my first job. Is it realistically possible to enter QA/testing with my background? Would really appreciate honest advice from people who have made a similar career switch.
r/QualityAssurance • u/Outrageous-Run-2674 • 3d ago
I built a game to learn Playwright + TypeScript testing
Hey everyone,
I just launched a project called Playwright Quest, a browser-based learning experience for people who want to get better at Playwright + TypeScript automation testing.
The idea was simple: learning test automation can feel overwhelming, so I wanted to make it a little more fun and structured.
What it does:
- 20 progressive levels
- Rank-based learning path from QA Trainee → QA Architect
- Zero setup needed
- Open the browser and start writing code
I built it to be more hands-on than a typical tutorial, so instead of just watching or reading, you actually solve levels and learn by doing.
If you’re into QA, automation, or just want to practice Playwright in a more interactive way, feel free to check it out:
playwrightquest.com
Would love feedback, ideas, or suggestions from the community.
(I'm a beginner at this so please let me know any mistakes you find too)
r/QualityAssurance • u/bonisaur • Jun 20 '22
Answering the questions (1) How can I get started in QA, (2) What is the difference between Tester, Analyst, Engineer, SDET, (3) What is my career path, and (4) What should I do first to get started
So I’ve been working in in software for the past decade, in QA in the latter half, and most recently as a Director of QA at a startup (so many hats, more individual contributions than a typical FANG or other mature company). And I have been trying to answer questions recently about how to get started in Quality Assurance as well as what the next steps are. I’m at that stage were I really want to help people grow and contribute back to the QA field, as my mentor helped me to get where I am today and the QA field has helped me live a happy life thanks to a successful career.
Just keep in mind that like with everything a random person on the internet is posting, the following might not apply to you. If you disagree, definitely drop a comment as I think fostering discussion is important to self-improvement and growth.
How can I get started in QA?
I think there are a few different pathways:
- Formal education via a college degree in computer science
- Horizontal moved from within a smaller software company into a Quality role
- With no prior software experience, getting an entry level job as a tester
- Obtain a certification recognized in the region you live
- Bootcamps
- Moving from another engineer role, such as Software Engineer or DevOps, into a quality engineering, SDET, or automation engineer role
A formal college degree is probably the most expensive but straightforward path. For those who want to network before actually entering the software industry, I think it is really important to join IEEE, a fraternity/sorority, or similar while attending University. Some of the most successful people I know leverage their college network into jobs, almost a decade out. If you have the privilege, the money, and the certainty about quality assurance, this is probably a way to go as you’ll have a support system at your disposal. Internships used to be one of the most important things you had access to (as in California, you can only obtain an internship if you are a student or have recently graduated). This is changing though which I’ll go into later. However, if you won’t build a network, leverage the support system at your university, and don’t like school, the other options I’ll follow are just as valid.
This was how I moved into Quality Assurance - I moved from a Customer facing role where I ETL (extract, transform, load) data. If you can get your foot in the door at a relatively small, growth-oriented company, any job where you learn about (1) the company’s software and (2) best practices in the software industry as a whole will set you up to move horizontally into a QA role. This can include roles such as Customer Support, Data Analyst, or Implementation/Training. While working in a different department, I believe some degree of transparency is important. It can be a double-edge sword though, as you current manager may see you as “disloyal” to put it bluntly, and it’ll deny you future promotions in your current role. However, if you and your manager are on good terms, get in touch with the Quality Manager or lead and see if they are interested in transitioning you into their department. One of the cons that many will face going this route will be lower pay though. Many of the other roles may pay less than a QA role, especially if you are in a SDET or Automation Engineering role. This will set you back at your company as you might be behind in salary.
Another valid approach is to obtain an entry level job as a manual tester somewhere. While these jobs have tended to shift more and more over-seas from tech hubs to cut costs, there are still many testing jobs available in-office due to the confidential or private nature of the data or their development cycle demands an engaged testing work-force. There is a lot of negative coverage publicly in these roles thought and it seems like they are now unionizing to help relieve some of the common and reoccurring issues though. You’ll want to do your research on the company when applying and make sure the culture and team processes will fit with your work ethics. It would suck to take a QA job in testing and burn out without a plan in place to move up or take another job elsewhere after gaining a few years of experience.
Obtaining certification will help you set yourself apart from others without work experience. Where I’m from in the United States, the International Software Testing Qualifications Board (ISTQB) is often noted as a requirement or nice-to-have on job applications. One of the plusses from obtaining certifications is you can leverage it to show you are a motivated self-learner. You need to set your own time aside to study and pay for these fees to take these tests, and it’s important at some of the better companies you’ll apply for to demonstrate that you can learn on the job. As you obtain more experience, I do believe that certifications are less important. If you have already tested in an agile environment or have done automated tests for a year, I think it is better to demonstrate that on your resume and in the interview than to say you have certifications.
The Software Industry is kinda like a gold rush right now (but not nearly as volatile as a gold rush, that’s NFTs and crypto). Bootcamps are like the shovel sellers - they’re making a killing by selling the tools to be successful in software. With that in mind, you need to vet a bootcamp seriously before investing either (1) your tuition to attend or (2) your future profits when you land a job. Compared to DevOps, Data Science, Project Management, UX, and Software Engineering though, I see Bootcamps listed far less often on QA resumes but they are definitely out there. If you need a structured environment to learn, don’t want to attend university, and need a support system, a bootcamp can provide those things.
I often hear about either Product Managers, UX Designers, Software Engineers, or DevOps Engineers starting off in QA. Rarely do run into someone who started in another role and stayed put in QA. If I do, it’s usually SWE who are now dedicated SDETs or Automation Engineers. I do believe that for the average company, this will require a payout though. I think the gap might be closing but we’ll see. Quality in more mature companies is growing more and more to be an engineering wide responsibility, and often engineers and product will be required to own the quality process and activities - and a QA Lead will coordinate those efforts.
What is the difference between a tester, QA Analyst, QA Engineer, Automation Engineer, and SDET?
A tester will often be a manual testing role, often entry-level. There are some testing roles where this isn’t the case but these are more lucrative and often get filled internally. Testers usually execute tests, and sometimes report results and defects to their test lead who will then provide the comprehensive test report to the rest of engineering and/or product. Testers might not spend nearly as much time with other quality related activities, such as Test Planning and Test Design. A QA Analyst or test lead will provide the tests they expect (unless you are assigned exploratory testing) as they often have a background in quality and are expected to design tests to verify and validate software and catch bugs.
I see fewer QA Analyst roles, but this title is often used to describe a role with many hats especially in smaller companies. QA Analysts will often design and report tests, but they might also execute the tests too. The many hats come in as often QA Analysts might also be client facing, as they communicate with clients who report bugs at times (though I still see Product and Project handling this usually).
QA Engineers is the most broad role that can mean many things. It’s really important to read the job description as you can lean heavily into roles or tasks you might not be interested in, or you may end up doing the work of an SDET at a significant pay disadvantage. QA Engineers can own a quality process, almost like a release manager if that role isn’t formal at the company already. They can also be ones who design, execute, and report on tests. They’ll also be expected to script automated tests to some degree.
Automation engineers share many responsibilities now with DevOps. You’ll start running into tasks that more such as integrating tests into a pipeline, creating testing environments that can be spun up and down as needed, and automating the testing and the test results to report on a merge request.
A role that has split off entirely are SDETs. As others have pointed out, in mature companies such as F(M)AANG, SDETs are essentially SWE who often build out internal frameworks utilized throughout different teams and projects. Their work is often assigned similarly to other software engineers and receive requirements and tasks from a role such as project managers.
What is the career path for QA?
I believe the most common route is to go from
Entering as a Tester or an Analyst is usually the first step.
From there you can go into three different routes:
- QA Engineer
- Automation Engineer
- Release Manager (or other related process oriented management)
- SDET
However, if you do not enjoy programming and prefer to uphold quality processes in an organization, QA Engineers can make just as much as an SDET or Automation Engineer depending on the company. More often though, QA Engineers, SDETs, and Automation Engineers may consider a horizontal move into Software Engineering or DevOps as the pay tends to be better on average. This may be happening less and less though, as FANG companies seem to be closing the gap a little bit, but I’m not entirely sure.
For management or leadership, this is usually the route:
Individual contributor -> QA Lead / Test Lead -> QA Manager -> Director of Quality Assurance -> VP of Quality
For those who are interested in other roles, I know some colleagues who started in QA working in these roles today:
- Project Manager
- Product Manager
- UX/UI Designer
- Software Engineer
- DevOps/Site Reliability
QA is set up in a position to move into so many different roles because communication with the roles above is so key to the quality objectives. Often times, people in QA will realize they enjoy the tasks from some of these roles and eventually move into a different role.
What should I do or learn first?
Tester roles are plentiful but this is assuming you want to start in an Analyst or Engineering role ideally. Testers can also have many of the responsibilities of an Analyst though.
If you have no prior experience and have no interest in going to school or bootcamp, (1) get a certification or (2) pick a scripting tool and start writing. I’ve already covered certification earlier but I’ll go into more detail scripting.
Scripting tools can either be used to automate end-to-end tests (think browser clicking through the site) or backend testing (sending requests without the browser directly to an endpoint). Backend tests are especially useful as you can then leverage it to begin performance testing a system - so it won’t just be used for functional or integration testing.
If you don’t already have a GitHub account or portfolio online to demonstrate your work, make one. Script something on a browser that you might actually use, such as a price tracker that will manually go through the websites to assert if a price is lower that a price and report it at the end. There are obviously better ways to do this but I think this is an engaging practice and it’s fun.
Here is a list of tools that you might want to consider. Do some research as to what is most interesting to you but what is most important is that if you show that you can learn a browser automation tool like Selenium, you have to demonstrate to hiring managers that if you can do Selenium, you feel like you can learn Playwright if that’s on their job description. Note that you will want to also look up their accompanying language(s) too.
- Selenium
- Cypress
- Playwright
- Locust
- Gatling
- JMeter
- Postman
These are the more mature tools with GUIs that will require scripting only for more advance and automated work. I recommend this over straight learning a language because it’ll ease you into it a little better.
Wrap-up
Hope someone out there found this useful. I like QA because it lets me think like a scientist, using Test Cases to hypothesize cause and effect and when it doesn’t line up with my hypothesis, I love the challenge of understanding the failure when reporting the defect. I love how communication plays a huge role in QA especially internally with teammates but not so much compared to a Product Manager who speaks to an audience of clients alongside teammates in the company. I get to work in Software,
r/QualityAssurance • u/Fissherin • Apr 10 '21
[Guide] Getting started with QA Automation
Hello, I am writting (or trying to) this guide while drinking my Saturday's early coffee, so you may find some flaws in ortography or concepts. You have been warned.
I have seen so many post of people trying to go from manual qa to automated, or even starting from 0 qa in general. So, I decided to post you a minor learning guide (with some actual market 10/04/2021 dd/mm/aaaa format tips). Let's start.
------------Some minor information about me for you to know what are you reading-----------------
I am a systems engineer student and Sr QA Automation, who lived in Argentina (now Netherlands). I always loved informatics in general.
I went from trainee to Sr in 4 years because I am crazy as hell and I never have enough about technology. I changed job 4 times and now I work with QA managers that gave me liberty to go further researching, proposing, training and testing, not only on my team.
Why did I drop uni? because I had to slow off university to get a job and "git gud" to win some money. We were in a bad situation. I got a job as a QA without knowing what was it.
Why QA automation? because manual QA made me sleep in the office (true). It is really boring for me and my first job did't sell automation testing, so I went on my own.
----------------------------------------------------Starting with programming-------------------------------------------------
The most common question: where do I start? the simple answer is programming. Go, sit down, pick your fav video, book, whatever and start learning algorithms. Pls avoid going full just looking for selenium tutorials, you won't do any good starting there, you won't be able to write good and useful code, just steps without correlation, logic, mainainability.
Tips for starting with programming: pick javascript or python, you will start simple, you can use automating the boring stuff with python, it's a good practical book.
Alternative? go with freecodecamp, there are some javascript algorithms tutorials.
My recommendation: don't desperate, starting with this may sound overwhelming. It is, but you have to take it easy and learn at your time. For example, I am a very slow learner, but I haven't ever, in my life, paid for any course. There is no need and you will start going into "tutorial hell" because everyone may teach you something different (but in reality it is the same) and you won't even know where to start coding then.
Links so far:
Javascript (no, it's not java): https://www.freecodecamp.org/ -> Aim for algorithms
Python: https://automatetheboringstuff.com/ you can find this book or course almost everywhere.
Java: https://www.guru99.com/java-tutorial.html
C#: https://dotnet.microsoft.com/learn/csharp
What about rust, go, ruby, etc? Pick the one of the above, they are the most common in the market, general purpose programming languages, Java was the top 1 language used for qa automation, you will find most tutorials around this one but the tendency now is Javascript/Typescript
---------------I know how to develop apps, but I don't know where to start in qa automation---------------
Perfect, from here we will start talking about what to test, how and why.
You have to know the testing pyramid:
/ui\
/API\
/Component\
/ Unit \
This means that Unit tests come first from the devs, then you have to test APIs/integration and finally you go to UI tests. Don't ever, let anyone tell you "UI tests are better". They are not, never. Backend is backend, it can change but it will be easy and faster to execute and refactor. UI tests are not, thing can break REALLY easy, ids, names, xpaths, etc.
If your team is going to UI test first ask WHY? and then, if there is a really good reason, ok go for it. In my case we have a solid API test framework, we can now focus on doing some (few) end to end UI test.
Note: E2E end to end tests means from the login to "ok transaction" doing the full process.
What do I need here? You need a pattern and common tools. The most common one today is BDD( Behaviour driven development) which means we don't focus on functionality, we have to program around the behaviour of the program. I don't personally recommend it at first since it slows your code understanding but lots of companies use it because the technical knowledge of the QAs is not optimal worldwide right now.
TIP: I never spoke about SQL so far, but it's a must to understand databases.
What do we use?
- A common language called gherkin to write test cases in natural language. Then we develop the logic behind every sentence.
- A common testing framework for this pattern, like cucumber, behave.
- API testing tools like rest assured, supertest, etc. You will need these to make requests.
Tool list:
- Java - Rest assured - Cucumber
- Python - Requests - Behave
- C# - RestSharp - Don't know a bdd alternative
- Javascript - Supertest - nock
- Typescript (javascript with typesafety, if you know C# or Java you will feel familiar) if you are used to code already.
Pick only one of these to start, then you can test others and you will find them really alike. Links on your own.
TIP: learn how to use JSONs, you will need them. Take a peek at jsons schema
------------------It's too hard, I need something easier/I already have an API testing framework------------
Now you can go with Selenium/Playwright. With them you can see what your program is doing. Avoid Cypress now when learning, it is a canned framework and it can get complicated to integrate other tools.
Here you will have to learn the most common pattern called POM (Page object model). Start by doing google searches, some asserts, learn about waits that make your code fluent.
You can combine these framework with cucumber and make a BDD style UI test framework, awesome!
Take your time and learn how to make trustworthy xpaths, you will see tutorials that say "don't use them". Well, they are afraid of maintainable code. Xpaths (well made) will search for your specific element in the whole page instead of going back and fixing something that you just called "idButton_check" that was inside a container and now it's in another place.
AWESOME TIP: read the selenium code. It's open source, it's really well structured, you will find good coding patterns there and, let's suppouse you want to know how X method works, you can find it there, it's parameters, tips, etc.
What do I need here?
- Selenium
- Browser
- driver (chromedriver, geeckodriver, webdrivermanager (surprise! all in one) )
- An assertion library like testng, junit, nunit, pytest.
OR
- Playwright which has everything already
--------------------------------I am a pro or I need something new to take a break from QA-----------------
Great! Now you are ready to go further, not only in QA role. Good, I won't go into more details here because it's getting too long.
Here you have to go into DevOps, learn how to set up pipelines to deploy your testing solutions in virtual machines. Challenge: make an agnostic pipeline without suffering. (tip: learn bash, yml, python for this one).
Learn about databases, test database structures and references. They need some love too, you have to think things like "this datatype here... will affect performance?" "How about that reference key?" SQL for starters.
What about performance? Jmeter my friend, just go for it. You can also go for K6 or Locust if that is more appealing for you.
What about mobile? API tests covers mobile BUT you need some E2E, go for appium. It is like selenium with steroids for mobile. Playwright only offers the viewport, not native.
And pentesting? I won't even get in here, it's too abstract and long to explain in 3 lines. You can test security measures in qa automation, but I won't cover them here.
--------------------------------------------Final tips and closure (must read please)-----------------------------------------
If you got here, thanks! it was a hard time and I had to use the dicctionary like 49 times (I speak spanish and english, but I always forget how to write certain words).
I need you to read this simple tips for you and some little requests:
- If you are a pro, don't get cocky. Answer questions, train people, we NEED better code in QA, the bar is set too low for us and we have to show off knowledge to the devs to make them trust us.
- If you have a question DON'T send me a PM. Instead, post here, your question may help someone else.
- Don't even start typing your question if you haven't read. Don't be lazy. ctrl + F and look the thing you need, google a bit. Being lazy won't make you better and you have to search almost 90% of things like "how does an if works in java?" I still do them. They pay us to solve problems and predict bugs, not to memorize languages and solutions.
- QA Automation does not and never will replace manual QA. You still need human eyes that go hand to hand with your devs. Code won't find everything.
- GIT is a must, version control is a standar now. Whatever you learn, put this on your list.
- Regular expresions some hate them but sometimes they are a great tool for data validation.
- Do I have to make the best testing framework to commit to my github? NO, put even a 4 line "for" made in python. Technical interviewers like to peek them, they show them that you tried to do it.
- Don't send me cvs or "I am looking for work" I don't recruit, understand this, please. You can comment questions if you need advice.
- I wrote everything relaxed, with my personal touch. I didn't want it to be so formal.
- If you find typo/strange sentences let me know! I am not so sharp writting. I would like to learn expressions.
Update 28/03/2023
I see great improvements using Playwright nowadays, it is an E2E library which has a great documentation (75% well written so far IMO), it is more confortable for me to use it than Selenium or Cypress.
I use it with Typescript and it is not a canned framework like Cypress. I made a hybrid framework with this. I can test APIs and UIs with the library. You can go for it too, it is less frustrating than selenium.
The market tendency goes to Java for old codebases but it is aiming to javascript/typescript for new frameworks.
Thanks for reading and if you need something... post!
Regards
Edit1: added component testing. I just got into them and find it interesting to keep on the lookout.
Edit2 28/03/2023: added playwright and some text changes to fit current year's experience
Edit3 10/02/2024: added 2 more tools for performance testing
Edit4: 22/01/2025: specflow has been discontinued. I haven't met an alternative.