8 answers
Asked Viewed 215 times Translate

What's the best way for a beginner to learn software testing and get started working in this profession?

I'm an adult learner with a Bachelor's degree in an unrelated discipline (Social Science) that is seeking a mentor for transitioning my career into Software Testing

#software #technology #computer #softwaretesting #qa #software-development #software-engineering


+25 Karma if successful
From: You
To: Friend
Subject: Career question for you
8
100% of 7 Pros

8 answers


Updated Translate

Hansel Junior’s Answer

Hi Heather, Software testing has two approaches as I've seen until today. The first one is manual testing, this way is based on use cases. This tries to test some cases that the software can be used by final users. As the name says, It's a manual testing which doesn't require programming language knowledge, you just need to know the use of technical tool, some strategies for creating those use cases, analyzing the expected outputs from the software in every situation. The second one is the test automatization, this is focused in test the use cases as I told you before but using technical tools which allows you to test those cases automatically. This can be done using some frameworks as Selenium, where you need to know some programming language e.g Java. You must have in mind If you like programming or not, this can be useful in your choice.

Best regards.

Thank you . Heather J.

1
100% of 1 Pros
Updated Translate

SM’s Answer

A software system's life cycle involves a number of forms of testing activities with some focusing on integration of different components, which normally requires substantial understanding of the components and how they interact with each other, and others focusing on user interface function or user experience.

Based on your description of your background, you may want to consider starting with UI or user experience testing. In general UI or user experience related testing would require less technical background (e.g., in systems functionality and interfaces). To be a good tester in that area, in my opinion, would benefit more from one who can envision and articulate user behaviors into sequences of UI actions to expose potential implementation defects or design deficiencies.

Note that testing a software implementation basically requires one understands the "desired behaviors" of the associated implementation, which are normally formulated as requirements (or use cases, user stories, etc.). The understanding is essentially for constructing test cases for verify the implementation.

Hence, one growth path would be to increase one's understanding of the problem domains the software systems are addressing. Such endeavors would prepare one to get involve in more technical aspects of testing activities.

Please do not hesitate to reach out if you have further questions.





Thanks for your reply, SM. Very much appreciated and I'll definitely look for UI jobs to apply for. I do have another question if you have time to answer... I've been looking at ISTQB's Foundation Level exam (see here is you don't know what that is: https://www.istqb.org/certification-path-root/foundation-level-2018.html) Do you think studying for and passing that exam would prepare me for a more technical, but still entry level software testing job? (If not, can you recommend a book or online course you think would be good for an absolute beginner like me?) Thank you in advance and I hope you're having a great week :) Heather J.

1
100% of 1 Pros
Updated Translate

Erik’s Answer

Sign up in U-Test, check it out online.

Thanks, Erik! Heather J.

U-test trains you, glad I could help, sorry I'm not as eloquent in showing off my level of knowledge, but can't help pointing at a direction that helped me out in my understanding. Erik Solá

1
100% of 1 Pros
Updated Translate

Rohit’s Answer

Software testing has many types like Unit, System, integration test, performance etc and these can be done manually/automation way. In my opinion, first you should understand the difference between these types, what are the terms used in software testing before starting to looking into any tool. Once you have clarity, you should spend a little time on performing these activities manually as these will enhance your knowledge related to the systems, how all these integrated system works.

After you gain a knowledge on these concept and are clear about the testing concepts, you should think about automation testing. In automation also there are multiple tools or programming language are being used. Based upon your interest with programming, you can either choose to use libraries in java, javascript, python etc to automate processes or you can choose ready made tools available in market (which helps to automate processes quickly for non programmers) like RPA, QTP, Selenium IDE, blue prism etc. Please let me know if you are still have any open questions, I will be happy to assist.

0
Updated Translate

Nathalie’s Answer

The best way to transition to a software testing role is to volunteer as a User Acceptance Tester (UAT) for a project. This role will give you the basic understanding of software testing from an end user's perspective. Next, I would shadow and interview the Quality Assurance or Test Analyst to understand the life cycle of QA or Test Management for a quick intro of the process. If at that time you feel this is something you would like to do, sign-up to attend local QA/Software Testing focus groups to connect with like-minded professionals in the industry. Last but not least, identify a leader in that field as a mentor to guide you through the transition.

0
Updated Translate

Irina’s Answer

Hi Heather! Software testing, both functional (manual) and automated is a very fun career and I am glad you are considering it. I would highly recommend taking some classes/courses if there are any available in your area. There are several schools in the Bay Area that specialize in prepping software testers. Ping me if you'd like more information. Taking classes (at schools or online on LinkedIn Learning etc.) will give you a structure to follow as well as teach you some core concepts. Besides that, don't hesitate reading articles and blogs.
Here are some resources to check out:
https://www.linkedin.com/learning/programming-foundations-software-testing-qa?u=67553434
https://www.linkedin.com/learning/agile-testing-2/uplevel-with-agile-testing?u=67553434
https://blog.gurock.com/
https://searchsoftwarequality.techtarget.com/resources/Software-testing-skills-and-career-advice
I did uTest for a while when I just started out and it really helped me put all the pieces together and get some beginner experience. Highly recommend to give it a try!

0
Updated Translate

Hansel Junior’s Answer

Hi Heather, Software testing has two approaches as I've seen until today. The first one is manual testing, this way is based on use cases. This tries to test some cases that the software can be used by final users. As the name says, It's a manual testing which doesn't require programming language knowledge, you just need to know the use of technical tool, some strategies for creating those use cases, analyzing the expected outputs from the software in every situation. The second one is the test automatization, this is focused in test the use cases as I told you before but using technical tools which allows you to test those cases automatically. This can be done using some frameworks as Selenium, where you need to know some programming language e.g Java. You must have in mind If you like programming or not, this can be useful in your choice.

Best regards.

Thank you . Heather J.

0
Updated Translate

Christos’s Answer

Hi!

I would like to add the concept of CI/CD here, since this is quite currently in software testing. CI/CD (continues integration & continues delivery) is really important for a company/organisation that continuously ships new features.

With CI/CD a software project ensures that a new change within the codebase does not breaks an already existing functionality. So from the perspective of the software testing a person who want to get involved into this area should be able to design and maintain a CI/CD solution and provide it to the developers so as to leverage it during the software development lifecycle.

There are a lot of CI/CD solutions out there for this, I will list some of them for reference:
1. TravisCI (cloud based)
2. CircleCI (cloud based)
3. Jenkins (on premise hosted)


0