ic_banknote_smile_128ic_business_128ic_business_128ic_checkmark_128ic_client_team_manager_128ic_code_file_128ic_code_files_128ic_corporate_cloud_platforms_128ic_crossplatform_apps_128ic_developer_128ic_development_team_128ic_enterprise_128ic_faster_timeframe_128ic_graph_down_128ic_graph_down_128ic_information_finder_128ic_junior_developer_128ic_managed_team_128ic_message_128ic_mobile_app_startups_128ic_mobile_development_128ic_mobile_development_up_128ic_mobile_devices_128ic_multiplatform_128ic_multiplatform_white_128ic_pricetag_128ic_project_checklist_128ic_project_management_128ic_project_management_team_128ic_research_and_development_team_128ic_scalable_team_128ic_senior_developer_128ic_smaller_codebase_128ic_smaller_price_128ic_startup_128ic_team_manager_128ic_three_times_faster_128Arrow_Dropdownic_001_google+_16ic_002_xing_16Group 2ic_003_facebook_16ic_004_linkedIn_16Groupic_005_message_16ic_006_upload_16ic_007_remove_16ic_008_email_16ic_009_attachment_16ic_010_file_16ic_011_name_16ic_012_arrow_left_16ic_013_arrow_right_16ic_014_arrow_down_16ic_015_arrow_up_16ic_016_dropdown_arrow_down_16ic_016_dropdown_arrow_leftic_016_dropdown_arrow_rightic_017_K&C_dropdown_arrow_up_16ic_018_language_16ic_019_Quote_16ic_020_+_16ic_021_=_16ic_022_phone_16ic_023_twitter_16ic_024_position_16ic_025_company_16ic_026_search_16ic_027_mobile_16ic_028_fax_16ic_029_location_16ic_030_enlarge_16ic_031_downscale_16ic_032_contactic_download_normal_16pxic_033_skype_16ic_006_download_16 copyK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxK&C_Icons_32pxic_Interest_based_64ic_acrivate_card_64ic_api_client_64ic_application_architecture_64ic_application_architecture_ white_64ic_application_development_user_64ic_arrow_down_64ic_automated_backups_64ic_automated_infrastructure_provisioning_64ic_automated_infrastructure_provisioning_white_64ic_automated_storage_64ic_automated_storage_64ic_automation_64ic_avaliability_across_the_world_64ic_avaliability_across_the_world_white_64ic_brackets_64ic_brackets_64ic_build_64ic_build_64ic_business_64ic_business_partnership_64ic_business_partnership_white_64ic_business_64ic_calculator_64ic_calendar_64ic_car_rent_64ic_card_renewal_64ic_chat_64ic_chat_bubbles_64ic_chat_bubbles_64ic_chat_white_64ic_checklist_64ic_checkmark_64ic_checkmark_white_64ic_clock_64ic_clock_white_64ic_cloud_media_64ic_cluster_64ic_cluster_white_64ic_code_base_optimization_64ic_coding_64ic_coding_white_64ic_commenting_widget_64ic_commenting_widget_64ic_containers_64ic_containers_white_64ic_continious_64ic_continious_delivery_64ic_continious_delivery_white_64ic_continious_release_64ic_continious_release_white_64ic_continious_white_64ic_cost_saving_64ic_cost_saving_white_64ic_cpu_load_64ic_credit_card_64ic_crossplatform_app_development_64ic_crossplatform_app_development_white_64ic_custom_crm_64ic_custom_crm_64ic_independence_consulring_64ic_database_calls_64ic_database_calls_white_64ic_dedicated_teams_64ic_dedicated_teams_64ic_desktop_application_user_64ic_desktop_application_user_64ic_desktop_code_64ic_desktop_code_white_64ic_developer_64ic_developer_white_64ic_development_64ic_devops_64ic_documents_64ic_documents_graph_64ic_documents_graph_white_64ic_documents_white_64ic_download_presentation_64ic_education_64ic_email_open_64ic_email_open_white_64ic_environment_healthcheckic_euro_64ic_euro_white_64ic_failure_solved_64ic_globe_outlines_64ic_good_quality_64ic_high_load_websites_64ic_high_load_websites_white_64ic_hotel_booking_64ic_inability_64ic_inability_white_64ic_increase_64ic_increasing_team_64ic_independence_64ic_integration_64ic_it_outsourcing_64ic_it_outsourcing_64ic_knowledge_sharing_64ic_mobile_devices_64ic_laptop_user_64ic_laptop_user_64ic_launch_64ic_launch_white_64ic_learning_64ic_learning_two_white_64ic_lighthouse_64ic_link_64ic_load_balancer_64ic_load_balancer_64ic_load_card_64ic_lock_64ic_lock_white_64ic_low_cost_64ic_low_load_websites_64ic_maintenance_tools_64ic_maintenance_tools_white_64ic_media_player_64ic_messaging_platforms_64ic_microservice_architecture_64ic_microservices_64ic_microservices_64ic_mobile_app_64ic_mobile_content_64ic_mobile_development_64ic_mobile_development_white_64ic_mobile_devices_64ic_mobile_devices_white_64ic_mobile_payments_64ic_mobile_social_media_applications_64ic_mobile_workflows_64ic_money_transfers_64ic_multimedia_sharing_64ic_multimedia_sharing_white_64ic_my_garage_64ic_no_access_64ic_no_access_white_64ic_no_oldschool_64ic_online_marketplaces_64ic_online_trading_64ic_pair_device_64ic_parallels_64ic_parallels_white_64ic_passcode_64ic_performance_64ic_performance_issues_64ic_performance_issues_white_64ic_performance_white_64ic_plane_64ic_plane_white_64ic_plus_64ic_pricetags_64ic_product_64ic_product_search_64ic_product_white_64ic_productivity_tools_64ic_productivity_tools_64ic_project_delivery_64ic_project_delivery_white_64ic_project_management_64ic_project_management_collaboration_64ic_project_management_team_64ic_project_risks_reduced_64ic_quality_mark_64ic_quality_mark_white_64ic_question_64ic_react_native_64ic_response_time_64ic_response_time_white_64ic_rest_api_64ic_retail_64ic_transparency_consulting_64ic_scale_up_64ic_scale_up_white_64ic_self_healing_64ic_self_healing_64 copyic_send_money_64ic_server_64ic_server_white_64ic_shopping_64ic_sleep_mode_64ic_small_is_beautiful_64ic_smaller_price_64ic_social_benefits_64ic_social_connections_64ic_socket_64ic_spare_parts_for_cars_64ic_spare_parts_for_cars_white_64ic_speedometer_64ic_performance_consulting_64ic_speedometer_white_64ic_startup_64ic_target_64ic_team_64ic_testing_64ic_testing_checklist_64ic_testing_checklist_64ic_testing_white_64ic_three_times_faster_64ic_touch_64ic_touch_id_64ic_touch_white_64ic_transparency_64ic_ui_design_desktop_64ic_ui_design_mobile_64ic_ui_design_mobile_white_64ic_umbrella_64ic_umbrella_white_64ic_up_and_down_scaling_64ic_up_and_down_scaling_64ic_users_64ic_users_white_64ic_ux_design_64ic_ux_design_desktop_64ic_ux_design_white_64ic_vehicle_64ic_web_based_search_64ic_web_based_search_white_64ic_web_browser_code_64ic_web_browser_developer_mode_64ic_web_browser_user_64ic_web_development_64ic_web_development_white_64ic_web_portals_64ic_web_portals_64ic_web_user_64ic_web_user_white64ic_workflow_64ic_workflow_steps_64ic_workflow_steps_white_64ic_workflow_white_64ic_working_environment_64

How the QA Team Tests Your Project

Software development is more than creating solutions that run needed functions. For business, a new software product is a way to change the operational status quo or make a leap in processes optimization in order to ensure better business results. It requires writing high-quality code and delivering a reliable solution that operates seamlessly and doesn’t have flaws.

Therefore, Quality Assurance (aka QA) is more than finding bugs in a “the-more-the-better” mode. The QA team’s mission is to help web developers deliver the product of their work within the estimated timeline, detecting any issues that might block successful operation of the software or even affect the user experience.

QA Process and Development Steps

Initially, QA helps design and control the development process in a way that prevents serious issues during the project. To make this happen, QA engineers work on the project together with other team members (product owner, project manager, business analyst, and dev lead) throughout the complete software development cycle. The number and the order of QA activities may vary from project to project, depending heavily on the scope of the work and the project aims.

Development process

- Analysis of requirements

- Design

- Implementation

- Verification or testing

- Maintenance

QA process

- Review of requirements

- Test planning / writing test cases

- Unit testing

- Integration testing

- System testing

- Performance testing

- Security testing

- Cross-browser testing / cross-platform testing

- Updating test cases

- Regression testing

Let’s have a deeper look at QA processes and how they are connected with the development steps.

Step one: review requirements and documentation.

QA engineers start their work on the project in parallel with documentation generation. They review the requirements and documentation for:

- completeness

- redundancies

- clarity

- consistency

- executability

- verifiability

The aim is to analyze system architecture and technologies for discrepancies.

Key benefits for the development process:

- Errors cost less when detected at an early stage

- Improved documentation means a higher quality project for lower labor input and more accurate estimates.

For this step, think about using specialized software for documentation review, like Confluence. You can gather all related documentation which is used throughout the whole project, and maintain an internal knowledge base. Every team member can see any changes as soon as any requirements or documents are changed, added, updated, or deleted.

Step two: plan and prepare test cases

When the requirements have been established, it is time to start planning test cases, i.e. - describe the actions QA engineers perform to make sure the piece of software functions as planned. In case the volume of such cases turns to be really significant, you can also use special tools like TestRail or Zephyr for writing test cases. Both pieces of software allow creation and modification of tests, and track results using metrics.

Step three: design test cases

When the development stage is finished, the QA team starts running the test cases. The main goal of this stage is to check whether the solution is developed properly from the technical perspective and meets the initial product owner’s requirements.

Below are the main QA activities and their aims:

- Smoke testing comes first. QA engineers lightly check that the software, or its module, functions as planned. When passed, further investigation begins.

- Integration testing – verify that different components work as a single system.

- Performance testing that includes:
Load testing – check system behavior for normal and expected peak load
Stress testing – determine critical load after which the system breaks down

- Security testing – ensure the solution has a sufficient protection level.

- Cross-browser testing/cross-platform testing – check that the software works smoothly on different browsers (Chrome, Mozilla, Safari) or platforms (Android, iOS, Windows Phone). This is especially important for web and hybrid apps.

- Regression testing – detect bugs in the code that was tested previously. Usually needed when adding new features or making any updates to an existing system.

Again, you can choose to automate the testing (e.g., unit testing, regression testing). The general rule: the longer a project lasts, the more it needs automated tests.

Step four: report and measure

When a QA engineer discovers a bug, he/she records it in a bug tracking system which is also a project management system. For this purpose, you may use Jira or Redmine, both being highly configurable software. They enable easy tracking of issues of any level, from a broken login form to security problems, and all team members can see real-time task updates. This simplifies communication inside the team and helps keep a clear overview of the improvement process.

Each issue gets a priority level from urgent to low, which the development team then resolves based on time and people available.

Step five: verifying fixes

When a developer fixes an issue he/she informs the responsible QA engineers, who verify it. The ticket in the bug tracking system is closed when no issue is detected. This rule applies: no bug can be marked as fixed until it is verified.

Are there any tricks for how to boost the QA process?

All above-mentioned testing steps usually apply to Waterfall development methodology. Such steps as Review of Requirements or Test planning/writing test cases are mostly used in complex, long-term projects and/or sensitive industries like healthcare or logistics, where an error costs too much compared to the time spent on documentation generation. However, very often delivery time is crucial (e.g., when you are a startup). For projects limited by time and budget, it is better to spend time on stabilizing and polishing the software product in favor of preparing the entire documentation and scrupulous test planning.

When using an Agile approach (like in most of our cases), for the short-term web development projects you can skip steps Review of requirements and Test planning; as on-time delivery of valuable solutions is more important than perfect documentation. Consequently, QA engineers can start testing immediately from step three using very simple tools like Google spreadsheet.

Also, some stages of the Development and QA processes can be performed simultaneously to save time, for example: Analysis and Review of requirements, Implementation & Test planning, or even Running different types of tests during development. In these parallel stages the testing activities help measure the success of the corresponding development tasks.

You might find this interesting
Case Study
Bosch Classic Cars - Digital Engagement Platform for 19K Vintage Car Owners
Case Study
Liferay Portal Performance Tuning Services for a Major Online Gaming Software Supplier
Reference: Major producer of auto electronics and spare parts
Blog post
How to Make Your Web Solution Rock: 7 Areas to Check
How to Motivate Your Dedicated Team to Work with Legacy Projects
SEO Tips & Tricks for Single Page Web Applications
Success Story
Drivelog.de — Web Marketplace for Car Owners and Service Providers
blog post
Docker: Virtualize Your Development Environment Right
How to Secure Web Product Development — FREE eBook
blog post
When Microservices Help Make Future-Ready Products
Case Study
Portal Performance Tuning For Major German Travel Agency
blog post
How to Build a Rancher & Docker Based Cloud
case study
Micro-service Architecture for New AngularJS Application - Case Study
blog post
How We Use Ansіble for Configuration of Our Environments
blog post
DevOps with Puppet: Tips on Setting it up for Configuring Servers
blog post
How We Manage Our Infrastructure with Chef
Success Story
Fast and Lightweight Mobile Application based on PhoneGap/ Cordova
blog post
Centralized Logging with Logstash, Elasticsearch & Kibana
blog post
4 Time-Saving Ways to Test Your Cross Platform Mobile App
blog post
Plan to Succeed: 4 Tips for Building Scalable Software
Top Tools for Cost-Effective Web Development — eBook
How to start services on Linux
Blog Post
Scaling software solutions - how it works
Blog Post
Angular 2.0 vs Angular 1.4. What fits you best?
Blog Post
Reasons to believe in Ionic hybrid app
Blog Post
Debunking imaginary shortcomings of cross-platform frameworks
Determining Approaches to Mobile App Development
Blog Post
Technologies that Foster Digital Transformation
Blog Post
A Guidance for Keeping Your Web Development Project Within the Budget: Three Key Pillars
Blog Post
Agile and DevOps are Key Drivers of Digital Transformation
Blog Post
Dedicated Teams for Web Development: Choice Criteria to be Checked
Blog post
Cost efficient technologies
Blog Post
Angular 4 vs React – what to choose in 2017
Blog Post
A secret formula of an agile dream team
Blog post
GoLang: Features, Pros and Cons
Blog post
K&C insights: how to make your workflow work for you
Blog post
Microservices… when do we need them?
Blog post
Use case: how to build and run Docker containers with NVIDIA GPUs
Success Story
How to apply React Native while developing heavy cross-platform mobile apps
Blog post
Cloud Deployment: Overview of Options
Success Story
Reformation of Deployment Cycle for Bosch Classic Cars Portal
Blog post
Three Authentication Approaches to Keep Your Clients Safe
Blog post
Native or Hybrid Apps: A Quick Comparison
Blog post
Big Data: Why Your Business Needs it ASAP
Blog post
Setting Up: Traefik Balancer In Rancher Cloud
Blog post
White Label: A Customized Software Solution from a Business and Tech Perspective
Blog post
Installation and setting up: Nextcloud as a local network storage on CentOS7
Blog post
How a Company Can Benefit from White Label: K&C experience
Blog post
ROCKET.CHAT as an internal messaging system and helpdesk platform
Stay tuned!
We'll gladly share fresh blog updates and our best practices to your email.
We protect your data and will notify you on important updates only.