Software Testing is a process to verify and validate the functionality of a software application with an intent to produce a quality product by meeting the specified requirements by the customer. By testing software, we try to find errors, gaps, or missing requirements contrary to the actual requirements. Software testing can be done manually, however, in order to save time it’s currently trendy to automate testing wherever it’s possible. using automated tools. Software Testing is an important phase of development process because defects found in later stages could be costly fo fix. There are tens of different types of Software Testing. However, it’s out of our scope in this blog. We will be focusing on mostly functional testing as the market requires more functional testers. We will also touch what non-functional tests are and we will also talk about a couple of them which are important such as performance testing, stress testing, load testing, etc.
Functional testing is a broad term used in software testing which refers to testing activities where we test the actual functionalities of the system. That is to say, we are checking whether the system is doing what it is supposed to do from a functional perspective. For instance, on Amazon website, if we search for a specific product, the website should return a list of searched products and related products if they are being sold on Amazon otherwise it should give a warning like “product you’re searching for not found.” In this phase, we don’t check how long it takes to find the product. We’re basically checking if the Amazon search box functions properly or not.
Non-functional testing is another type where we test the performance, usability, reliability, or security of the system. If we relate to the example above, how fast it lists the products for us? Or is the search box easy to use? Or is it easy to breach and access customer information on Amazon? These are all the concepts of non-functional testing and in most companies, there are other teams who perform non-functional tests. In the coming posts, we will delve into more detail on functional and non-functional testing. We will also focus on important types of both functional and non-functional tests.