If you are implementing a new solution in your company, you want it to work properly at every stage of its operation. No wonder – mistakes can cost you a lot of time and money. Instead of wasting resources on patching holes, it is better to invest them in modern solutions that will help you avoid problems and improve the operation of your business in the future. If you’re running a CRM system like Salesforce, it seems even simpler to implement.
Why run tests?
magine that a company decides to open an online shop. It chooses the system and creates the right website and application, but does not test the shop before the start. It launches the shop and… it turns out that the purchase option does not work. The company wanted to save money on testing, yet lost much more – its image, credibility and many full baskets, which could have led to a transaction.
Therefore, performing regular software tests is very important to detect system errors before they cause irreversible consequences for your company.
Types of tests
Manual – these are activities performed in the system or in the application directly by a human being. These tests are characterized by high accuracy, but at the same time, they are prone to human error.
Automated – they consist in preparing scripts which execute the test scenario and evaluate it. Scripts written in languages such as Java or Python are used to automate tests.
When to use the tests?
Always! Manual tests should be carried out from the very beginning of implementation or development of a product, system or application. We should use them both in small and large projects. However, it is worth considering the implementation of automated tests, because they are a great complement to the manual activities.
This is a very important word – complement, not replace. This is mainly due to the fact that computers are not able to process some information that a person interprets naturally. It also works the other way round – a computer performs complex calculations in a much shorter time than a human.
When should you consider implementing automated tests?
- When you care about the repeatability of certain actions. It is very likely that in some tests the actions will be painfully repetitive, but a person is not able to repeat the test every time with the same 100% precision. Over time, e.g. normal fatigue may determine the result. Worse concentration or bad weather may affect the order, time and speed of the actions performed. Automated tests (of course, if created correctly) do not “get tired”, so they can repeat the actions performing them more accurately.
- If you want to be systematic – automated tests can be programmed to work at the right time (e.g. every day at 24:00). Unfortunately, the availability of human activities and their regularity can vary.
- When you want to avoid human error. Man is a fallible being, and despite learning a specific activity for years, he can simply make a mistake. Well-prepared tests will guarantee you infallibility and reliable results.
- When you want to avoid human error. Man is a fallible being, and despite learning a specific activity for years, he can simply make a mistake. Well-prepared tests will guarantee you infallibility and reliable results.
- When you want to optimize performance and costs – with automated testing you can save time and expand the tasks for manual testers.
Can everything be automated?
Imagine a family of five. During the day, they use many different dishes, which must be washed at some point. There are quite a lot of them, so one of the family members has to interrupt other activities each time for a longer period to keep everything clean and ready to use again. The activity and process is repetitive, very often tedious, and the family would prefer to devote this time, for example, to playing board games together.
What can such a family do? Buy an automatic dishwasher.
At the very beginning, using a dishwasher can cost a lot of money (purchasing equipment, installation and cleaning products consume a lot of money). Over time, however, you will notice water and energy savings and, above all, you will save on time that the family can spend together instead of spending it on washing up.
The same applies to the implementation of automated tests in the company – you have to hire testers (usually people who know programming languages, also the cost of employment is higher than that of a manual tester), prepare a testing environment, control it, maintain tests, which initially involves a large investment. However, over time you will notice that automation saves time and resources, and your company has an increasing ROI.
However, just as a dishwasher will not wash delicate china, you should consider which manual test to replace with an automated one and whether it is necessary. An example could be tests which check the integration between two systems (one of which is created by another development team). In order to be able to perform such a test, it is necessary to contact an external team with a request to create the data necessary for our scenario. These data are not created automatically, so the time to implement the tests is extended.
We should always test! However, it is up to you to decide whether some of the tests should be automated. Despite the initially high implementation costs, in retrospect the investment in such a solution is profitable – you save not only money but above all time and reduce the number of errors to a minimum.
Do you want to learn more? We will be happy to tell you which testing method is best for your projects.
Author
- Product Marketing Manager
-
She has been involved in the IT industry and Salesforce for three years. At the moment, she works on business development, generating leads, organizing business events and widely understood product marketing. She supports Craftware’s sales team reaching new customers and building long-term relationships with them. A certified Pardot specialist, a tool for automation of B2B Salesforce marketing.