7 approaches in testing
CEO "Qualitica" Igor Nitochkin

7 approaches in testing

Hey everybody!

Today I want to share with you the atrticle of Igor Nitochkin CEO "Qualitica" QA agency.

Igor is an IT director with more than 10 years’ experience in the sphere.

Today we’ll analyze 7 main approaches in testing and tell how to make it full-fledged and qualitative. Peculiar evolution consists from 7 steps. Let’s get it started!

First approach:?Testing is carried on by developer or manager.

This step is difficult to be identified as a separate approach, because in fact it’s absence of professional testing. Instead of professional with impartial assessment project is tested by developer or responsible manager.

It often happens because of several reasons: lack of the budget, wish to save the money, impossibility to hire professional tester or just not understanding of importance of testing.

Sure, it’s better then completely absence of testing, but not so much.

  • Developer as we say “blurry eye” and checks only those functions which should work as he planned and those scenarios which were implemented. It means that he doesn’t pay needed attention to the users’ scenarios. Subjective attitude to the project and wishes to finish fast creates the temptation to close your eyes to many nuances.
  • Manager, due to his high workload superficially looks whether everything is working without checking each module separately. It’s intuitive testing which is completely not professional. He doesn’t know what is expertise: he can find out many bugs, but a lot of nuances are out of consideration.

As a result, all system bugs appear already among end users, which reduces the confidence to the company, scares off the customers, ruins the reputation.?

Альтернативный текст для этого изображения не предоставлен

Second approach: Testers are hired in the end of the project.

The typical method in waterfall development model of the software is when the project is divided into stages. Professional tester who appears only on the final stage of the project or each stage – it’s the first step in testing evolution.

Main disadvantages of the method:

  • When testing the system at the very end significant errors in the architecture level would be found too late, and have to rewrite big part of the code or to remake from the beginning. At least it’s unprofitable.
  • It’s free intuitive testing which in turn entails ignoring a number of alternative scenarios.
  • During the development of the project different changes were done, the original documentation doesn’t correspond the final result, but complicates the analysis of bug reports.

As the result at the first sight logic approach to testing in the beginning ignores the detection of global bugs.

Third approach:?Testers check all the tasks of the developers for the consistency of the result to the original formulation of the task.

This approach allows to find bugs “on a rolling basis” with the help of agile development methodology. Tester is integrated into the development team. Each function consistently and repeatedly is tested. This way testing can’t be called detailed and structured, it’s still more intuitive character. The main disadvantage: non-systematic method.

Tester gets bored to check typical bugs manually, for example authorization on web site and in some time, he starts to lose these “trivia”. Alternative scenarios can be lost due to these “trivia”.

Fourth approach:?Testers are engaged with test design.

Exactly on this stage appears conscious professional testing. It means that it’s not random check based on intuition, but system process, fixed by necessary documentation.

Attention is consciously paid to analysis of all requirements. The work is divided into test-blocks.

Designing and creating of test cases would be hold with considering specifics and requirements of the project in order with already identified criteria of quality and testing aims. Test documentation is preparing, including test plans, check lists, bug reports, regresses and requirement specification.

This method doesn’t have obvious disadvantages. It’s correct method to testing, but it might be better:

Альтернативный текст для этого изображения не предоставлен

Fifth approach:?Testing management system is implemented.

This is the stage when you have already planning of the testing: clear understanding, when regress would be done, when smoke testing would be done, besides there are testing regulations.

When company grows you must keep and systemize your development. Test cases storage systems and development tools are implemented. For example, we use TestRail in Qualitica. This is a tool which is used for testing control, keeping all requirements and test cases on the project.

With the help of this tool reports of conducted testing are formed. Improving control of testing process gives new quality level of the product. System accelerates the introduction of new participants into the project.

Sixth approach: Testing automation appears.

Developers and testers write auto tests: unit-tests and UI-tests. It means that all regular checks are automated. The human factor is eliminated: bad memory or it was boring to check the same in a hundred time.

For the simplest test cases: authorization, registration, record publishing etc. – auto tests are written. Automation testers are involved but not the manual. Most likely the simplest functions will not be changed, they will be checked automatically every time while checking release. There are a lot of technologies for automation of testing.

We identified these technologies:

  • Testing framework - TestNG/Junit
  • Programming language - Java/Python
  • Project builder – Maven/Gradle
  • Library for UI tests – Selenide PyTest
  • Rest Assured library is used for back tests
  • Report forming through Allure
  • Jmeter – is the tool for organization a load testing

Auto tests significantly reduce time costs and increase the quality of the product.?

Seventh approach: the hierarchy becomes more complex, new roles appear in a development team.

?The top of evolution is hierarchy appearing and focused specialists: test-manager, test-lead, test analyst, test-designer etc. Each person is responsible for his part of work.

  • Test manager knows the whole information of the product , sees the whole process, is involved into organization of the work, management of development team. His responsibility is communication with customer and development team.
  • Test lead coordinates testing and distributes tasks inside the team.
  • Test analyst analyses requirements, prepares documentation.
  • Test designer transforms requirements into check lists and test cases.
  • There are testers who test only manually and are integrated into development team.
  • Automation write auto tests for those functions which will not be changed.

Conclusion

Big development team is not always needed for every project, somewhere it’ll be enough to integrate into project team 1-2 testers, and somewhere it’s needed to organize system method to control the quality with maintaining all needed documentation.

Each project is unique and when choosing the testing method you need to be flexible.

We have different requests from our customers in Qualitica. It might be simple web site, online shop or complicated portal with profiles and lots of modules. We have a control system of testing, focused specialists, hierarchy and for sure automation. We can and ready to help to increase the quality of your services and software.


要查看或添加评论,请登录

社区洞察

其他会员也浏览了