9

I am a newbie in automation testing. The question that bothered me while creating scripts was:

Is it only GUI testing or do we also have to create Integration automation scripts? What would be our boundaries when a developer also does his own testing (unit, component/integration)?

4

On our Group we have both a combination of applications that are UI driven and others that are just public facing API Interfaces. In both cases the development team is usually doing unit testing and a single a happy path integration test. The QA Team (of which I am part of) we generate automated test scripts that are repeatable and verify all of the business case requirements both negative and positive, boundary conditions, special characters, etc... In the case of our UI applications, we provide the automation around the UI. The Dev's typically only manually test the UI's to make sure that the fields map correctly. For tests that are look at deem as being manual manual, I typically try to automate as part of the process as possible. Data Setup, Data Verification etc, so that when / if we need to rerun them, they become more repeatable.

  • 1
    I think the one thing I'd add to this answer would be that you should communicate with your dev team. Figure out what they're testing so you're not duplicating efforts. – ernie Jan 27 '16 at 1:02
10

Anything for which you can write a logic piece of code can be automated.

I think usually the things that are very repetitive task that are very cumbersome to do day in and day out can be automated.

Unit level checks can be automated so that the developers can perform their validation checks.

Usually security & performance related tasks are automated.

5

Is it only GUI testing? No, it's up to you. Personally, I create automation tests for the test cases that are often executed, and the test that is simple (not complex).

Do we also have to create Integration automation scripts? Yes, we do. It is part of testing and hence the testers' job.

What would be our boundaries when a developer also does their own testing(unit, component/integration)? From my experience, there are no boundaries. Developers and Testers have to work together to maintain test scripts because it is the most time-consuming tasks. By the way, I usually ask developers to do unit testing, and I will create GUI tests for them, then we help each other to maintain test scripts.

  • So this means, I should do the GUI/End to End testing, it is not going to be the developer then? I had confusions with this since one of our developers wants to say, we don't need a QA anymore because we will do all of these anyway. So I got more confused of my role as a QA automation tester IF they will do all the tests I should do. – Marj Jan 23 '16 at 4:46
  • It's depends on your job description. In general, QA Engineer have 2 major tasks. First task is to ensure that product quality meet the criteria, second task is to ensure that development team conforms to software development processes, see more details about processes from ISO12207 or CMMI. In case your development team can ensure functionalities of product, you still have a lot of quality metrics such as efficiency and usability, see more details about software quality model from ISO9126. From my experience, there is always a room for improvement such as how to display test result. – Buaban Jan 23 '16 at 4:54
  • I do have those in the job description. I may have not understood or maybe there are developers that are strictly developers and not open to any suggestions or opinions of a QA since we are not developers. I still do manual QA and ensuring all development processes are taken into place. Now I am also involved in automation. Maybe I need to communicate more to the development team about boundaries or which scripts we both should be focusing on. – Marj Jan 23 '16 at 5:09
  • Looks like it is a problem about 'trust'. I usually see this problem in many companies. From my experience, QA can gain trust from developers by showing them that we are expert in something such as automation testing, performance testing, usability testing. – Buaban Jan 23 '16 at 5:23
  • I agree.. I guess it is because of trust. I can't blame them though, some former QA broke this trust. Reading from the test cases that has been forwarded to me makes me feel like, is the system really tested or has it been tested well? Thanks so much for the comments – Marj Jan 23 '16 at 21:09
2

That's to some degree up to your management team. Who does what testing differs from place to place, and what different phases of test are called can differ as well.

However, it's very, very important that everyone understand what the expectations are for the different development phases. Otherwise, you're either going to be duplicating effort or missing certain classes of problems, or at best finding them later than would be ideal.

With all that said, I'd say automate as much as you can, especially if it's something you'll have to do more than once.

  • 1
    I agree with the first two paragraphs and disagree with the last. Automation has to be maintained just like any other software. You need to choose your automation so that the time you save is more than the time you spend maintaining it. – user246 Jan 27 '16 at 0:49
  • 1
    Absolutely true; that's a personal preference. I hate doing things multiple times, and I'd rather spend the time building/maintaining tools than doing mindless testing, even if the time doesn't pay for itself. – Kevin McKenzie Jan 27 '16 at 1:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.