I am in a unique situation where I was hired as for QA with no computer background. How this happened is a long story but now I'm here, trying to become a useful and productive member of this team. Where would you start your training? What are some of the most useful skills to have?
The most important skill, I think, is learning about the product. Learn, learn, learn everything you can about your product and how it is used. That tide will float about half of your boats.
The other roughly half of your boats float on a different tide: your social skills. You need to do a lot of listening and offering support. Get to know the other people on the team and become known as the guy who says "yes I can look at that." "yes, I can help you with that." Writing skill is part of this. Get to know users if you can.
When you combine social skill and product skill, it enables you to connect dots that other people miss. That's really what testers do (I'm going to assume that when you said QA you meant testing or something close to that): we notice inconsistencies that might be important and we report them.
Learning about technical things and programming is helpful over time. In some projects, it's absolutely important. If you have gotten your job without that background, then it must not be considered critical in your project.
Also, take an honest inventory of what skills and talents you feel that you do have and consider applying this heuristic: get really really good at things you like to do, and find friends who can help you with things you don't like to do. That's worked well for me over the years. For instance, I like documentation, programming, and analysis, but I'm not very reliable when it comes to any repetitive or periodic task. I prefer to work in "episodes".
So I'm better suited for test architecture work, consulting, teaching, or one-time testing blitzes.
If you want to be only a good QA employee then start knowing about the product of your company.
But if you want to expert in QA then you have to "practice" a lot.Remember you are the master of your own.No body will help you to learn.You have to find your way and that is only possible if you start practicing.Question is how to start?
1.Try to join weekend testing group.It will really help you to improve your skill.
If you want to learn something then start writing a blog on that topics.But don't copy from other source just read that topics from any source (Its may be from books or online resources) and then start writing that to your blog.Try to explain that topic from your own.This is also a good way to learn.
- To start with, please keep in mind that your primary objective is to detect bugs. These bugs might be with reference to requirements/common sense/learnings you obtain during the process. 2.You need to have very good documenting skills to log defect raised. I have seen many instances where a lot of time got wasted just to understand what defect is.
- You need to have very good communication skills/assertiveness/ tact /diplomacy to get defect fixed/track defect properly as required.
- You need to have a passion for quality and processes.
- You need to have a lot of patience, tolerance, and adaptability to change.
Formal training that you might need is:
- Testing concepts/deliverables/processes
- Testing organization
- Defect Management process
Testing is definitely not about learning theoretical concepts etc. It is more of application of common sense and functional knowledge. I suggest you start learning the functionality of your application and following the below guidelines. If you still want to learn about testing theory concepts (which I'm afraid not going to be very useful in doing actual testing) I suggest you read http://www.tutorialspoint.com/software_testing/ and be done with learning theory. If you want in-depth learning of theoretical concepts, try CBOK CSTE. You are not going to learn more theory than that. Coming to what is important in real-world testing, I would suggest you concentrate on the below points.
It is not always necessary that we have to know a lot about computers to be able to do testing. Once you know the basics of computers as to how to access internet, use MS Word, MS Excel etc, you can do manual testing, if the application you are supposed to test is a User Interface application. You just have to learn the functionality of the application. For example, if you are a manual tester for stackoverflow.com website, you will have to know how to post questions, give answers, upvote, close and other similar functionality that this site offers. Then you are good to do it.
However, the testing you are supposed to perform is something to do with modifying XMLs, writing sql queries and testing mainframes etc., you will have to have the specialised trainings in those specific areas.
Once you have learnt basics of the application you have to test and learned the process to test it, the next thing you have to know is how to use basic test management software that is being used by the organisation you are working with. Which again is not that complicated, how to document tests, bugs etc.
You will also have to learn different approaches to design test cases, scenarios. Writing test cases and scenarios is not a random work, you have to think about what different scenarios the specific application may be used in. You have to decide what are the likely inputs and outputs to expect. Are there any rare scenarios that may break etc., for this you will have to gain experience of that application's functionally.
Next set of skills you need to possess is communication skills. Your test cases, bugs etc have to be clear and concise. You have to confidently elaborate why you think certain failure is a bug.
Testing is not at all an easy task. You need to think all positive and negative scenarios that end user is going to perform with the given product-software. QA is the only person who is responsible for delivering the quality product, later on which will be converted into the brand.
So below are the qualities or characteristics each QA guys have to be successful in software testing filed.
- Constant learner
- Out of box thinking
-> Apart from this, you should have good command on communication skills cause you have to communicate with so many faces.
-> You should know how to prioritize the tasks when you are under heavy load.
-> Implement more process and documentation.
-> Be objective oriented with open mind set.
If you have a mixture of above things or you are ready to grab such characteristics and want to implement it in your routine then you will be the right QA candidate.