What is Software Testing?
- Apr 20, 2023
- 4 min read
Updated: Jun 22, 2023
ISTQB definition:
Software testing - is the process consisting of all life cycle activities, both static and dynamic, concerned with planning, preparation, and evaluation of software products and related work products to determine that they satisfy specified requirements, demonstrate that they are fit for purpose, and detect defects.
Human language:
As you can see, testing is more than running tests, besides the test execution activities, it also includes test planning, analyzing, designing and implementing tests, reporting test progress, and is the process consisting of all life cycle activities, both static and dynamic, concerned with planning, preparation, and evaluation of software products and related work products to determine that they satisfy specified requirements, demonstrates that they are fit for purpose, and detect defects results, and reporting defects.
Notice that there are major test activities both before and after test execution. In addition, it is important to understand that testing is more than checking the system for compliance with the requirements and specifications, we also need to test to see if the delivered software and system will meet user and stakeholder needs and expectations in its operational environment.
There are lots of things that need to be figured out in order to be familiar with testing in the best way, for this reason, we recommend reading additional articles on topics such as:
What is the difference between static and dynamic test design?
What static test design techniques do you know?
What types of dynamic test design do you know?
What is STLC? What stages of STLC do you know?
Speaking human language software testing - is the process to evaluate, controlling, and improve the quality of software products. A test process consists of a sequence of groups of activities performed by the testing team, each of them providing a step-by-step process to ensure quality software.
There are activities such as:
Test planning;
Test monitoring;
Test control;
Test analysis;
Test design;
Test implementation;
Test execution.
The simplest process of software testing for the manual QA Engineer generally follows the next steps: Requirement Analysis >> Test Cases Creation >> Run Test Cases >> In case of detecting a failure - Log a Bug.
Requirement Analysis:
In the process of the Test Analysis, we analyze the test requirements to identify testable features and define associated test conditions. One of the most beneficial side effects of identifying what to test in test analysis is that you will find defects; for example, inconsistencies in requirements, contradictory statements between different documents, and missing requirements.
Test Cases Creation:
In the process of the Test Design, we write test cases. Instead of trying to find every possible test case, an impossible ideal, we should focus on what tests give us the greatest value by covering the most important parts of the system.
Run Test Cases and Log a Bug:
In the process of the Test Execution, we run test cases, In case of detecting a failure, we log a bug. When testing finds defects and those defects are repaired, the quality of the system is increased. As a result of these activities, we make confirmation that the software product meets specified requirements and meets the needs and expectations of the end users or/and customers.
Life example:
Nowadays, it is hard to imagine life without a phone, the Internet, and modern technologies, people will increasingly use software and hardware in their daily routine, so software testing may have an impact on everyone's life.
Let's take a look at these two life examples:
1. Example of developing software without a tester - user finds a bug and destroys his computer Preconditions:
The development team built a website for the online store with the requirement: The user must be able to buy the product;
Developers have tested the website by themselves without involving the QA Engineer;
The development team verified the billing process with registered on the website user.
The user decides to buy a phone on this online store, and for that reason, he opens the corresponding website and adds the desired product to the cart. After that, he navigates to the basket and places the order, after entering the personal information, the user has to make a payment, for this reason, he adds credit card details and makes the payment.
Instead of seeing a notification about successful payment, the website shows a notification that due to an unknown reason, the payment was incorrect, but the money was withdrawn from the card.
In such a case, the user has to spend a lot of time and nerves before solving this problem, and with a high probability, he has never returned to shopping on this site.
2. Example of developing software with a tester - user happy
Preconditions:
The development team built a website for the online store with the requirement: The user must be able to buy the product;
A QA Engineer was involved in the testing, during the testing process.
In the beginning, the QA Engineer Analysis of requirements, in our example, the requirement is: The user must be able to buy the product. Based on this requirement, he writes test cases and notices that users might try to make a purchase being registered and signed In on the website or try to buy something without registration, for this reason, the QA Engineer creates a corresponding to that scenario's test case and run It. The test case fails and the QA Engineer logs a bug. Then the development team fixes the issue.
Consequently, the user decides to buy a phone on this online store, and for that reason, he opens the corresponding website and adds the desired product to the cart. After that, he navigates to the basket and places the order, after entering the personal information, the user has to make a payment, for this reason, he adds credit card details and makes the payment.
Notification with the successful status of the purchase appears the user is happy, leave a positive comment, and recommend this site to your friends.
Conclusion:
So, if you are asked at an interview What software testing is? The best way to answer is:
Software Testing - is the process to evaluate, controlling, and improve the quality of software products and related work products to determine that they satisfy specified requirements, and demonstrate that they are fit for purpose. Also, testing is not only about checking correctness; that is, that the system corresponds to its requirements, user stories, or other specifications, we also need to test to see if the software and system will meet user and stakeholder needs.



63c bet apareceu pra mim do nada e eu entrei só pra ver se era daqueles sites confusos, mas achei bem de boa. A primeira coisa que notei foi a cara mais moderna e a navegação bem estável, aqui não ficou engasgando quando fui mudando de área. Também curti que no celular ele encaixa direitinho, sem aqueles menus tortos ou botão minúsculo que dá raiva de clicar. Não fiquei horas fuçando, mas deu pra perceber que eles tentam deixar as informações mais transparentes e fáceis de achar, sem você ter que caçar coisa básica. No fim, o que mais ajudou foi a página ser bem organizada em blocos com títulos claros e uma interface bem limpa.
Nhà cái luck8 mình ghé thử cho biết thôi, kiểu thấy nhắc nhiều nên vào xem giao diện ra sao. Ấn tượng đầu là trang nhìn khá gọn, chia thành từng khối nội dung nên lướt xuống không bị rối mắt. Mình không đọc kỹ hết, chỉ thấy họ có nhắc nền tảng hoạt động từ 2014 ngay phần giới thiệu, nhìn như kiểu đặt thông tin nền tảng lên trước cho ai muốn xem qua. Chữ dễ đọc, khoảng cách dòng ổn, không bị dồn chữ sát nhau nên cảm giác thoáng. Mấy tiêu đề nổi bật vừa đủ, không màu mè quá, nên tìm chỗ cần xem cũng nhanh. Mình thích nhất là khu “Tin Tức Cập Nhật…
ty le keo nha cai hôm trước mình lướt thấy mọi người bàn tán nên ghé thử cho biết. Mình không phải kiểu ngồi phân tích kèo kỹ đâu, chỉ muốn xem trang có dễ theo dõi không. Vào cái là thấy họ để phần tỷ lệ kèo thể thao hôm nay lên khá nổi, nhìn phát biết đang ở mục nào luôn. Mấy bảng số liệu trình bày thẳng hàng, kiểu cột rõ ràng nên mình kéo xuống xem biến động cũng không bị rối mắt. Thỉnh thoảng refresh lại thấy số thay đổi nhanh, cảm giác cập nhật ổn chứ không bị “đơ” lâu. Thanh menu cũng gọn, bấm qua mấy mục giới thiệu với phần kèo mà…
https://sky88a.it.com/ hôm trước mình thấy ai đó nhắc nên tò mò bấm vào nghía thử. Vào trang cái là thấy load nhanh hơn mình tưởng, bấm qua lại vài mục vẫn ổn, không kiểu đứng hình khó chịu. Mình không đọc kỹ hết, chỉ lướt phần giới thiệu thôi mà thấy họ nói khá nhiều về chuyện bảo mật dữ liệu với vận hành ổn định, nên cảm giác cũng yên tâm hơn chút. Giao diện nhìn sạch sẽ, nền nã, chữ dễ đọc chứ không nhồi nhét. Mấy đoạn nội dung được chia thành từng khối rõ ràng, kéo xuống là hiểu đang nói phần nào, không bị rối. Menu đặt ngay chỗ dễ thấy, các box thông tin…
https://lx88seo.com/ mình ghé thử cho biết vì thấy bạn bè nhắc, kiểu vào xem giao diện có dễ dùng không thôi. Cảm giác đầu tiên là trang nhìn khá thoáng, chữ không bị dồn dập nên lướt nhanh cũng không mỏi mắt. Mình thích cái cách họ để phần link truy cập mới nhất ở chỗ dễ thấy, đỡ phải kéo lên kéo xuống tìm. Với lại mấy đoạn nói về uy tín/minh bạch cũng đặt khá “lộ”, nên ai chỉ muốn check thông tin cơ bản thì tiện. Cuộn xuống thấy các khối nội dung tách rõ ràng, tiêu đề nổi bật nên đọc lướt vẫn nắm được ý. Nói chung bố cục gọn, menu và các heading được…