The most important rules, types and run steps of software testing

Factory.hr
7 min readApr 26, 2018

We already know your questions: Why is important to have quality control in software development process? What are the most important test processes and types of testing? What are steps to perform software testing? Let’s dive into this problems.

Imagine the situation that you’ve decided to visit a site, look for information that matters to you or just interest you, and the site is totally broken down, the links do not work, hardly find the pieces of information you want, and the site is continually crashing. How would you feel?

You would indeed be angry, disappointed and you would give up on any search for information. You would surely tell everyone that the web page/application is worth nothing and that they don’t even think to use this web page/application.

Why is important to have quality control in software development process?

You indeed are wondering, ‘Well, why is software testing so important, are not developers the one who is careful not to make any mistakes?’

  1. The first and most important reason why testing is necessary is that developers are just ordinary people who, like everyone, make the mistakes. Those mistakes can be immediately noticed and repaired and can be overlooked and not repaired. During the testing, any bugs or disadvantages during the development phase are discovered.
  2. Another, but no less important reason is that testing assures the users’ satisfaction on web site/application. The more customers are satisfied, the more they will talk about your app and recommend it to other users.
  3. It is essential to provide a quality product. A quality product helps customers build self-confidence. It user uses the website or application without problems, it will feel safer and more confident.
  4. If you want to ensure delivery of high-quality website/application that is not so demanding, testing is essential.
  5. Also, testing is necessary if it is to ensure efficient website/application performance.
  6. It is very important to ensure that website/application does not fail. Any breakdowns or difficulties can be very expensive in the future or later stages of development. It is therefore important to check how the website/application behaves at certain times and when we take some steps.
  7. Want to stay in business, attract new people and keep the old? Testing is also very important.

Most important test processes and types of testing

QAA (Quality Assurance Analyst) focuses on finding bugs, finding faults or shortcomings based on website/application behavior, their design and users expectations by carefully reviewing each part of the web site/application. Additionally, QAA has one very important job that will have an impact on the development of better products on time and within the scope — making decisions.

There are different levels of testing used in the test limits process, and each level aims the examining different aspects of the system.

  1. Unit testing is performed in the development process, while the developers end up with coding. The purpose of this test is to check the accuracy of the module. The purpose of such a test is to check how certain parts work according to the user’s expectations.
  2. Integration testing — system integration testing. It is started after some modules are integrated as a group. A typical project consists of multiple modules and is developed by various developers. This test focuses on checking wheater the modules communicate with one another or not. Most problems are found in this type of testing.
  3. System testing — the first time the web site/application is tested from start to finish to a complex and fully integrated product before it is marketed.
  4. Acceptance testing — beta testing of products and evaluation of real users. The primary purpose of this test is to check the entire website/application flow.

There are two types of testing, manual and automatic testing.

Manual testing involves testing the web site/application manually, i.e., the QAA step by step tests the web site/application, checks each segment, looks for information well-set, how fast the users can get to desired information. QAA also checks for a complexity of the web site/application, how easy or difficult is to understand how website/application works and what steps users need to do. During manual testing, QAA checks how the website behaves if viewed through different browsers.

The developer can develop a page and view it using Google Chrome browser and does not check other browsers. QAA has a task to open a page in all browsers because you never know which browser the user will use to search the website. Automatic testing implies writing code that QAA launches and verifies website/application functionality. Automatic testing is useful if the website/application segments that are related to functionality, such as entering, editing and deleting data, registering and logging in users, and searching for simple information are tested.

Key steps to perform software testing

The following steps are essential for testing website/application:

  1. Preparing the test plan everything covered by the test plan may differ from organization to organization, but there is a standard list of points that QAA needs to consider when creating the test plan:
  • Goals and Objectives
  • Scope
  • Critical areas and areas to focus on
  • Test deliverable
  • Testing strategy for system testing
  • Testing schedule
  • Entry and exit criteria
  • Suspension and resumption critera for system testing
  • Test enviroment
  • Roles and responsibilities
  • Glossary

2. Testing case-it is recommended that the test case format is formatted this way:

3. Data collection to be used for testing the system -it is necessary to devise what information you will use when entering the data on the website/application.

4. Testing Requirements- you must perform manual testing and check if all the test cases that QAA has previously set passes. After manual testing, it is recommended to write the code for automatic testing.Automating testing will help if you have different modules that you need to test and some of them have already been tested manually and only need to check if they continue the work.

5. Bug reporting, bug checking, and regression testing -after QAA finds a bug, it’s necessary to report to developers so they can fix the bug. A bug report template needs to be designed to make QAA and developers clear about what is happening.The template needs to describe what’s going to happen, set up a screenshot or video, define the device and browsers being tested, write which user was active when testing, define steps for developers to play the bug, tell what’s expected and what is happening right now.

6. Replicate the life cycle of the test- and once the web site/application is presented to the public, testing is required to make sure that the website/application continues to work the way it did before it was released to the pub

What is performance testing?

Almost every website/application at one time will be used by a lot of users and what if it freezes and stop working? Such situations can be horrible for the organization whose website/application is concerned.

Performance tests reveal how the website/application behaves and responds to different situations. Of course, you want to achieve high speed, harmony, and stability of the system.

  1. Page speed — customers, expect the site to be loaded very quickly and when that doesn’t happen, user satisfaction decreases. They can experience and increase the level of stress when the website/application needs to be loaded too long. A user can lose confidence if website/application takes too long to load or simply crash when paying a product. The user is not sure whether payment has passed or not, which the user experiences as an unpleasant shopping experience. The vast majority of users will not return to the site if they have experienced such experience. Sometimes when a website/application is quickly loaded, users can consider that the time was not short enough. Therefore, it is very important, of course, to increase the load speed as much as possible.The next reason why a page should work as quickly as possible is that Google is in favor of faster web pages, i.e. the faster the page loads, will be better indexed on Google. Their algorithm takes into account web and mobile speed. The fastest loading pages have a competitive edge. Since everything is only one click away on the web, it’s important to have a faster download time so that users stay on your website/application.
  2. Scalability — it is necessary to ensure that the website/application can support as many users as possible.
  3. Stability — you probably want your website/application to work at all times, even when overwritten. High loads can cause the website/application to freeze or crash. That is why stress tests are important.

All things considered,

Website/application testing should be a top priority when posting on the web, app store or iTunes. It needs to be implemented from the very beginning of its creation, more precisely when developers complete the first website/application module to capture and fix as many bugs as possible. Early testing increases customer satisfaction and also saves time and money.

--

--

Factory.hr

We are Factory — a remote-first company focused on executing the most complex digital business transformations based on Pimcore technologies.