Development / Mobile app development Guide

Bugs not found. How to get from Quality Control to Quality Assurance

Aug 27, 2017
1 Star2 Stars3 Stars4 Stars5 Stars
Loading...
5 (5 voices) 2 comments

The first thing that comes to mind when you think about website testing is a glitch or broken design element. However, testing is a crucial phase that should be applied to each and every stage of web development process. In fact, QA and QC in software testing can help you to distinguish professionals from amateurs.  

Sadly, but quality assurance and web testing have always been considered as the most insignificant part of software development process and the cheapest one. Because of this facts, some teams may save on QA and QC in order to increase the profitability of the project.

Make no mistake! Despite the fact that testing is generally described as a separate stage between Development and Maintenance, it’s carried within each phase of project’s lifecycle. Which is why it is so vital for every project to run QC in software testing consistently in order to keep the high quality of work.

Software development life cycles

For this purpose QA Engineers (testers) are introduced to each project team and conduct testing at all stages of development, starting from the mockup design, and ending with maintenance upon website delivery.

Just like any other software products website testing runs through the same methods and quality assurance rules.

Testing models

The complexity of software products makes it vital to select the proper and comprehensive testing approach. The choice of the right testing model may directly affect the speed of project delivery and efficiency of testing itself.

Waterfall model. The classical model of test process organization that involves Test phase after Development is done. Waterfall model is used only when the requirements to the project are clear and fixed.

Waterfall model of QA

This model is generally criticized because when the testing is started it is hard to go back and make changes. Therefore time spent on the project delivery may greatly increase because of many iterations of redevelopment on each stage.

 

V-model. In order to eliminate those iterations and time loses the V-model is applied instead.

V-model applied in QA

V-model is an improved version of Waterfall model. Test coverage begins with a requirements stage and is applied to each subsequent development phase. It represents the importance of verification and validation and demonstrates relationship between the development and testing phases.

 

Software Testing Levels

Since the development life cycle is a complex process, there is a need to identify areas of testing (testing levels). This structuring is used to prevent overlapping while testing and not to miss a testing area.

There are four levels of software testing:

  • Unit – the test is performed by coders while creating separate software modules.
  • System – the test is performed upon completing the whole module functionality.
  • Integration – this level of testing covers interaction between modules.
  • Acceptance – this part of testing is made to ensure that all client’s and technology requirements are met.

 

Things to Test

There are two main kinds of software testing depending on the objectives they pursue: functional and nonfunctional.

Functional Testing refers to tests that examine external system behavior.

  • Security and access control Testing. Refers to any malware vulnerabilities and possible backdoors that can be present in the system. This kind of testing examines all the possibilities to Bypass Authorization and to login without a password.
  • Functional Testing is performed to confirm the functionality of system and its compliance with client’s requirements.  
  • Interoperability Testing examines the compatibility of the system and its integrability with other software products and technologies.

 

Non-functional testing:

  • Performance Testing includes stress, load, stability and volume testing. It is executed to determine the speed of system response under the workload.
  • Usability Testing includes content checking and localization verification, ease of use and responsiveness.
  • Compliance Testing refers to compliance with legal and IT standards (e.g. your website needs to be PCI-DSS certified in order to process users’ credit card information).
  • Installation Testing ensures system operation after installation or execution of deployment plan.
  • Configuration Testing. This kind of testing is made in order to examine performance and stability of the system while it’s working with different platforms, computers, drivers, etc. Configuration testing includes cross-browser (Chrome, Firefox, Safari etc.) and cross-platform testing (iOS & Android devices, Windows, OS X, etc).

 

Methods of Testing

  • Manual Testing – this method requires a QA Engineer to go through all features and functions the website offers to an end user.
  • Automated Testing – involves special software that can execute repetitive or specific actions. Automated tools help to determine the website performance or if certain parts of the code function properly.

Documentation

Documentation – any graphic and text information that describes the product: test logs, incident reports, manuals, etc.

NOTE: It is crucial to log all results and report on all test. Inconsistent recording can lead to errors and missed areas that may contain bugs and malfunctions.

Prior proceeding to testing, QA team should be provided with the documentation that contains each of the client’s requirements, layouts and user behavior rules (use cases). QA engineers should report all bug, test results and conduct test of project’s functionality of project’s functionality.

The tools we, in GBKSOFT, use to keep records:

  • TestLink
  • Jira
  • ActiveCollab
  • Redmine

 

Technologies and tools involved in testing

There are more than hundred different software testing tools. Each of them is used for a specific kind of testing (e.g. load testing, graphic user interface testing, security testing, unit testing).

However, it is required to have programming skills and knowledge in programming languages in order to run tools for automated testing.

Testing tools and technologies involved in Quality Assurance:

  • Selenium Webdriver
  • Codeception
  • BrowserStack
  • Genymotion
  • PostMan
  • TestComplete
  • Jmeter
  • Swagger
  • REST
  • JSON
  • WebSocket
  • HTML
  • JavaScript
  • XML
  • CSS
  • WebAPI
  • PHP
  • JAVA
  • SQL

Conclusion

As you may notice, Quality Assurance is a complex and challenging process that should be implemented along all the way of software development. In order to succeed and deliver product in time (and for a reasonable price), QA Engineers should be a part of the project’s team from the very beginning. This is the approach we apply in GBKSOFT which grants us the privilege to be full-stack software development company.

Alexandra

Alexandra is a Business Manager with solid experience in client communications, team management, product management. She’s driving force and soul of every project completed by GBKSOFT!

Other Articles of Alexandra

Comments (2)

Leave a comment
Close

Leave a Reply

Name field is required
Email field is required
Please enter comment

randa legger
Feb 11, 2017 at 6:35 AM

Hi! This is kind of off topic but I need some guidance from an established blog.
Is it tough to set up your own blog? I’m not very techincal but I can figure things out pretty fast. I’m thinking about setting up my own but I’m not sure where to begin. Do you have any points or suggestions?

Cheers

reply
Tony
Apr 14, 2017 at 10:46 AM
Randa legger,

You can start from plain WordPress website or write blog posts on Medium or any other platform.

reply

Similar Blog Articles

Drag and Drop Files to browser

Development

How does Web Apps work with Local Files Through the Browser?

Few will argue that working with files through browser window is one of the must-have things for any modern office web app. At times when many of us prefer work remotely the ability to work through the web becomes vital for any business entity. Some of them have already decentralized their corporate structure but require...

Rating — 5 (3 voices)

Development

What Technology Do You Need to Build a Travel App?

Traveling becomes not just a hobby but a lifestyle for many people. Travel bloggers, people on vacations, those who travel for business, they all have one common feature – smartphone is their second self. People today are used to search, book and buy everything online and they don’t want to change it while traveling. Since...

Rating — 5 (5 voices)
smart speakers

Business

Top Intelligent Assistants App Ideas for Smart Speakers

Smart Speakers may always be a niche market if there wasn’t such a harsh competition between three tech giant: Amazon, Google, and Apple. Each company has its own smart speaker powered by intelligent assistant and voice control system. Each of them eager to monetize on their techs. However smart speakers are just a tip of...

Rating — 5 (1 voice)

Categories

All articles Business Company News Development Marketing StartUp App Ideas UI and Design

TELL US ABOUT YOUR PROJECT

We’ll estimate your project and give first advices within 24 hours!

Name field is required
Email field is required