Category: Manual Testing

Automated TestingAutomated TestingAutomated TestingAutomated TestingAutomated TestingAutomated TestingAutomated TestingAutomated TestingAutomated Testing

Southeast Asia and Eastern Europe Software Tester Salary Guide 2021

Singapore, Vietnam, Malaysia and Indonesia are the centers for technology and software development in Southeast Asia. Therefore, software testing engineers are one of the most in-demand position. This report will be helpful for managers who want to figure out the differences of a tester’s salary in these countries.

[vc_row][vc_column][vc_column_text]

1. Software Testing Salary Range

Software testing salary range in Southeast Asia

[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_single_image image=”18310″ img_size=”full” alignment=”center”][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]Among the four countries, Singapore has the highest payment range for software testers. On average, testers will receive $5100 per month. The maximum salary that one can be paid is $7980; meanwhile, the minimum is $2660. Malaysia stands in the second position in terms of payment. However, its maximum amount of payment is almost four-time less than Singapore’s. The minimum, average and maximum salary of Malaysian testers consecutively are $690, $1270, and $2030. Of the four representative countries, Vietnam has the lowest salary range. It only costs the manager $330 to $2000 per month to hire a software tester here. The average salary of a Vietnamese is $650, which is three-time less than Singaporean. Nevertheless, the maximum payment for the job is almost equal to Malaysia and higher than in Indonesia. In one month, Indonesian testers can get $360 for the lowest, $720 for the medium, and $1120 for the highest payment.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_empty_space height=”30px”][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

Software testing salary range in different regions

As seen in the chart above, remote team pricing is broken out into two tiers: Asia and everywhere else. In Asia, the average hourly rate is $24.62/hour, whereas the rest of the world commands higher prices averaged out around $38.67/hour.

A decade ago, there was a 400% difference in pricing from the lowest-priced region to the highest-priced region. Now the range has been cut in half. This ever-narrowing range of prices supports SourceSeek’s guiding principle that the global software market is an efficient one with enough demand to bring consistent pricing that is affected by a small set of characteristics such as location, language skill, proximity, etc.

Outliers are rare. As teams in Eastern Europe slowly set their rates higher and higher, there is enough demand to raise rates in less competitive regions accordingly and still remain competitive. The notable exception is India, where pricing trails the worldwide market due to the sheer volume of supply combined with ongoing reputation issues. There is increasing evidence that China is also beginning to see a similar trend, and will continue to have difficulty entering the global software market.

2. Software Testing Salary Based on Seniority

[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

Junior Software Tester Salary

[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column width=”1/2″][vc_single_image image=”18315″ img_size=”full”][/vc_column][vc_column width=”1/2″][vc_column_text]

Junior software testers often have less than two years of experience. Within this level, Singaporean testers get paid the most with $3200 per month. It quadruples the salary of a Malaysian tester, who is paid $780. Ranking in third place, Vietnam has a monthly payment of $690, fewer than the second-place $88. The country having the lowest payment for a junior software tester is Indonesia, with $570 a month. It is five-time less than Singapore.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_empty_space height=”15px”][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

Senior Software Tester Salary

[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column width=”1/2″][vc_single_image image=”18319″ img_size=”full”][/vc_column][vc_column width=”1/2″][vc_column_text]

If a tester is promoted to a higher level, their salary will be increased. The monthly salary of a QA engineer in Singapore will rise by $1700 to reach $4900. Meanwhile, the salary of a senior tester in Malaysia ranks second place at $1050 per month. Receiving $180 fewer is a Vietnamese tester with a payment of $870. Indonesian tester’s salary is the lowest, which takes employers $770 per month.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_empty_space height=”15px”][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

Software Testing Lead Salary

[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column width=”1/2″][vc_single_image image=”18321″ img_size=”full”][/vc_column][vc_column width=”1/2″][vc_column_text]

To hire a software testing lead, an employer has to pay $6400 per month in Singapore. The figures in Vietnam, Malaysia, and Indonesia representatively are $990, $1460, and $1060. It is noticeable that Vietnam is the one who has the lowest salary, where the tester gets a sixth-time fewer than the highest payment.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_empty_space height=”15px”][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

Head of Software Testing Salary

[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column width=”1/2″][vc_single_image image=”18320″ img_size=”full”][/vc_column][vc_column width=”1/2″][vc_column_text]

The salary of the Head of software testing in Singapore is significantly high compared with the other three countries. Tester at this level will be paid $7900 a month, four-time higher than a tester on the same level in Malaysia. Vietnamese and Indonesian testers monthly income are both in the range of $1300, but Indonesian man gets extra $60 which makes Vietnam the lowest pay country for this position.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_empty_space height=”30px”][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

3. Salary Based on Education

[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_single_image image=”18322″ img_size=”full” alignment=”center”][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]All four nations show a similar pattern in the chart, which is they will pay a higher salary for tester having higher education level. Besides, with the same degree, testers in Singapore get paid drastically higher than the rest. A tester who holds a certificate or diploma will gain $2660 a month in Singapore, which is eight-time higher than Vietnam and Indonesia, and a fourth-time higher than Malaysia. If the tester gets a bachelor’s degree, he or she will be paid $5100 in Singapore. This number is one-fifth in Malaysia ($1270), $720 in Indonesia, and $650 in Vietnam. Singaporean master’s degree owner will be paid $7980 a month, following by Malaysian and Vietnamese who get $2030 and $2000 representatively. The lowest-paid master’s degree holder is an Indonesian software tester, who gets $1120 per month.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]Although there are other countries in South East Asia, the four nations above are representative of the information technology center. Through the article, we showed general guidance of software tester’s salary in Singapore, Vietnam, Malaysia, and Indonesia. All the figures are collected from reliable sources, including Persol Kelly, Michael Page, and First Alliances. Hopefully, the article can be a reference when managers make their decision to hire a software tester. Nevertheless, if managers face difficulties in recruitment, there are still other alternatives such as purchasing software testing outsourcing services.

With a score of 82, Eastern European countries garnered the highest score of any region featured in this report and just edged out East Asia with a score of 80. Eastern Europe has an established reputation for having a mature and robust educational system, and many vendors in the region leverage that reputation to claim that the ‘best developers in the world’ come from Eastern Europe.

Eastern European educational excellence is focused primarily around math and science. The Organization for Economic Co-operation and Development (OECD), which measures 70 countries in reading, math, and science, found that Eastern European countries outperformed other countries featured in this report by an average of 11% in math and 10% in science.

So, while the much-touted claim of ‘best developers in the world’ may be a bit strong, Eastern Europe’s reputation for strong education is well supported by data. While a strong general education is certainly important for a successful IT education, a high score in the UN data doesn’t always result in top IT education, and vice versa.

4. Team composition

Average years of experience is a very informative metric when assessing the maturity of a region as a whole. It takes many years for developers to gain experience and move into management and leadership, making truly senior software engineers difficult to find.

This is exacerbated by brain drain in many countries since many of the most experienced engineers may move on to other more promising regions. Eastern Europe suffered from a bit of brain drain in years past, but for the most part there are adequate opportunities available for software professionals and no need to leave to find work. The presence of so many seasoned professionals also feeds the IT ecosystem, which we’ll look into later in the report.

Lotus Quality Assurance is the first independent software testing company in Vietnam. As a Silver Partner of ISTQB, we provide you a talented team of testing with international experiences. Contact us to be aided with your software testing project.[/vc_column_text][/vc_column][/vc_row]

Top 5 Mobile Testing Trends in 2021

When B2C enterprises use mobile applications to attract consumers’ engagement in e-commerce, banking, and marketing; B2B firms use them to manage the company’s operations, tracking the performance of employees, and collaboration with partners. Come with the rising frequency of mobile application usage is the demand for increasing the application quality. If you want to update the latest movement in quality assurance for mobile applications, let’s look at our top 5 mobile testing trends below.

Test Automation

One of the characteristics of mobile applications is that the developers have to release the new version frequently to adapt to the demand of users. Due to this, numerous test cases need to run repeatedly. This is where test automation became an innovative solution. In the World Quality Report conducted by Capgemini, 57% of the companies said that test automation helps to reuse the test case. Meanwhile, 65% of them stated that the test cycle time is reduced.

mobile testing trends - automation test benefit

The greater return on investment in automation not only came from benefits in cost and efficiency but also came from achieving business objectives such as time-to-market. Moreover, it seems like this year CTO concerns more about transparency and security in testing. 69% of them responded that test automation helps them to have better control and transparency of test activities; 62% of respondents think test automation reduces the overall risk.

IoT Testing

The Internet of Things (IoT) allows us to control our assets such as smart home appliances, smart cars, or smartwatches by using a mobile application. Testers need to ensure the quality, security, connectivity, and performance of the application so the interaction between mobile apps and IoT devices is not interrupted. However, executing integration testing is not easy due to IoT devices often having a cloud-based interaction layer developed by a third party. Besides that, testers also concern about the enormous number of test cases needed to run because of the diversity of IoT devices. Testing on emulators, therefore, cannot fulfill the requirement of the QA team. As a result, testing in the cloud is becoming more popular.

Although facing many obstacles, firms are finding ways to adapt to the IoT trend. Many companies consider applying Artificial Intelligence capacity to test thoroughly and also conduct more IoT-experience testing.

Impact of 5G on Mobile Testing

Compared to the previous generation, 5G network has many innovative technologies, which greatly affect how testers conduct mobile testing. When it comes to 5G connectivity, three main technologies change the game: Enhanced mobile Broadband, Ultra-reliable Low Latency Communication, and Massive Machine Type Communication (mMCT)

5G provides greater bandwidth, which means faster data rate and better user experience. With this technology, the 5G network will allow 360-degree video streaming and VR / AR experience. Consequently, testing mobile applications in a high-speed internet office will not be efficient enough. Besides, the latency of data transfer is reduced. It allows faster information receiving within far distance, which has a huge impact on the performance of mobile applications. Meanwhile, mMCT supports connecting with a large number of IoT devices using less power; which leads to changes in battery testing for mobile devices.

Agile and DevOps Approach

Agile and DevOps has become a popular method in continuous testing. They combine the know-how and skill of both testers and developers to support each other with the ultimate goal of fastening the development and deployment of applications. Agile and DevOps approach helps enterprises to find and fix defects more efficiently and release new versions more frequently.

According to the World Quality Report, the Scale Agile Framework (SAFe) and the Dynamic Systems Development Method (DSDM) among Agile methodologies are the most favored by IT firms. From 2015 to 2017, SAFe increased from 31% to 58%; meanwhile, DSDM has grown by 31%. The same report also stated that over 88% of respondents applied DevOps principles in their IT team.

Testing Environment in Cloud

Mobile users reached 1.5 billion at the end of 2020. The mobile devices will have different OS versions, screen resolutions, and data storage. It causes obstacles in mobile testing since firms are not able to buy every kind of mobile phone. As a result, testers tend to use the cloud to test real devices.

Another reason for the increase in using cloud-based testing environments is the virtualization trend in recent years. This will push the demand for cloud and virtual testing tools higher and open more opportunities for firms to provide cloud-based testing services.

Blockchain Testing

Since the booming market of blockchain technology in the IT industry, many have predicted a new and exciting field of better security, higher authenticity and decentralized operations.

Since blockchain technology is rather an immature field of the IT industry, there is more to be explored with this. To ensure a system of decentralized, cost-effective and time-saving activities, blockchain engineers have to employ and adapt to cutting-edge technology and brand new concepts, making them more prone to mistakes.

Under this circumstance, blockchain testing is now an in-demand service that requires a thorough understanding of the blockchain architecture and full test strategy planning.

Blockchain testing should include:

  • Smart Contract testing
  • API Testing
  • Block Testing
  • Functional Testing
  • Performance Testing
  • Security Testing

Big Data testing

With the world’s economy stepping into the recovery phase after the pandemic, many enterprises are trying to revamp their performance with the adoption of big data in their operation and upcoming business plan.

The most prominent approach towards their customers is to collect and min huge data volumes and diverse data types to indicate user behaviors. From these analytical research and collection, one might categorize and analyze their behaviors to find the best matching solution to approach their customers.

To enhance the efficiency of big data in multiple fields with a bigger scope, you would want to implement big data testing, which can help to make improved decisions with accurate data validations. With big data testing facilitates the consistent application of how the datasets perform, market targeting and business manifestation are further streamlined to cope with the ever-changing market.

Cybersecurity Testing

Cybersecurity has always been at the top of the IT industry’s problem with billions of dollars stolen each year. In recent years, many companies have been applying an array of measures to assure cybersecurity within their system and products.

Especially with the fear of data breaches, cybersecurity is gaining its importance in business’ systems and becoming the foremost necessity.

This situation is common across many subdomains of the IT industry, leading to a growth in security testing of from USD 6.1 billion in 2020 to USD 16.9 billion by 2025, at a Compound Annual Growth Rate (CAGR) of 22.3% during the forecast period.

This growth of security testing has brought brighter prospects to the world’s cybersecurity. With the stronger and more effective security measures, cyberattacks, data breaches, malware, etc. will be reduced to their smallest. With this new implementation, digital transformation will be more successful than ever.

Machine Learning and Artificial Intelligence testing

Artificial Intelligence in general and Machine Learning in particular will be the omnipresent technology in the next few years.

As the need for virtual assistants, autonomous cars, etc. are more rival than ever, AI and ML will make a bigger step in the IT industry with top investment priority of CIOs in 2025. As predicted in 2020, the AI and ML market will grow to be about $6-7 billion in America. Technology for behavior prediction, speech recognition is beginning to be adopted and implemented in our daily lives, and it seems to be never enough.

The booming development of AI and ML demands better technology, bigger implementation and breakthrough advances, hence the need for a flawless operation of AI and ML. To achieve this, the most effective and viable solution is AI and ML testing. Since the AI and ML themselves are pretty new in the market, testing for them is quite challenging, yet exciting.

Scriptless automation testing

With Agile and DevOps are trending, requiring developers and testers “low-code” and “no-code” approach. With this approach, developers and testers spend less effort on programming and writing codes, making the software/delivery have a faster time to market.

Although automation testing is on the rise, many testers are struggling with the high-maintenance, script-based testing approach, not to mention the dragging training time. To make it easier and faster for testers to execute tests, many have followed scriptless automation testing.

Since it is scriptless, testers have to utilize multiple tools to acquire desirable test results.

All in all, the trends in 2021 made the QA team face many challenges. How to perform mobile testing with the right strategy remains a hard question. Knowing this constant problem, Lotus QA provides a free consultant for mobile application testing to help you enhance the quality of your product.

Embedded Testing

4 things every tester should know (2020 Video Series)

In this our new series, 4 things every tester should know, we will take you through the foundational knowledge of testing: Testing levels, Testing Types, Testing Processes and Principles of Testing.

We would like to contribute to the communities the take-away testing videos which are short but essential.

Hence, this series is named “Four Things Every Tester Should Know”, made for:

  • Junior testers who are building foundational knowledge in software quality assurance and testing
  • Senior testers who wants to revise their knowledge on testing
  • Business users who want to have a high-level view of the testing industry

You can watch our video series here, or read the transcription below. Turn on subtitles for English, Japanese, Korean and Vietnamese.

The series will include the following topics:

https://www.youtube.com/watch?v=1f9Ssis5SuE&list=PLI5JkQdCF-6ic2ceHiitDoIbYrZ1BYttG

Test levels

16 years ago, I came to know about some testing concepts and I think it’s very important.

Today, I want to share you one concept named “Testing Level”. So, let’s get started!

Have you ever heard about V-Model?

As you can see on our picture, there are 4 testing levels ordered from bottom to the top. Those are unit testing, integration testing, system testing, and acceptance testing.

Why do we need to distinguish those testing levels?

Because we can understand the specific objectives of each level you can integrate effectively using them to improve the qualities.

Following the timeline, we start with unit testing.

Unit testing, known as component testing,

is to verify the functional and non-functional behavior of the module in the system.

Normally the programmers do the Unit testing by isolating their module from the rest of the system.

They can do it manually or automatically by using a tool named Junit or Nunit.

The developer will base on detailed design to take the code,

data structure or the database in order to find out

if there are any data flow problems or any incorrect codes.

After finishing unit testing, we go to “Integration testing”

Integration testing is to verify the functional and non-functional interfaces

between components or systems of integration.

So, there are two types of integration.

First one is that component integration testing will be done by the programmer.

And system integration testing might be done by the independent testing team.

So, depending on each type, the input and the output,

and the system under test (SUT) might be differed.

But the objective seems to be same.

We focus on the integration between the component or the system.

The next step is system testing.

System testing focuses on the behavior and the capabilities

of a whole system or whole product as the end-to-end usage.

Independent testing team typically carry out system testing

and they will set up the test environment that is very similar to the production one.

They will produce the testing report which can be used

by stakeholders in order to make release decisions.

The typical defects could be missing the requirements or any incorrect functionalities of the system.

The last level is acceptance testing.

Acceptance testing is similar to the system testing

which will focus on the behavior and also the capabilities

of the whole system or the whole product.

But, it’s different from the system test.

It may produce information to assess

the system’s readiness for deployment and usage by the end-user.

Finding the bug is not the objective of acceptance test

because it will be too late if you find defects at this step.

The acceptance testing is the responsibility of

the customers, business user, product owner and also the operator of the system.

Normally, there are four common forms of the acceptance testing

including the user acceptance testing, the operational acceptance testing,

contractual and regulatory acceptance testing,

and the last one is the alpha and beta testing.

So, those are four important testing levels.

At the beginning of the project,

all stakeholders, including the product owner, the project manager and

also the quality assurance manager should sit together and

plan how to handle those four levels in the projects.

To ensure that, the product and software will meet the business needs and also the user requirement.

Otherwise, the product or the system will be NOT fit to use.

So if you want to see more videos, please subscribe to us.

Also, hit on the bell to receive the notification.

Thank you for watching and see you soon!

Testing types

A testing types are groups of test activities which are based on specific testing objectives. We could have different aspects to distinguish the different testing types.

For example, following the Quality Characteristic aspect , we could have Functional testing and Non-functional testing. Following the testing method, we could have Whitebox, Greybox, Blackbox testing or Manual/automated testing. Following the testing environment, we could have the alpha, beta and staging testing and so on.

In this video, let’s distinguish just based on the quality characteristic aspect.

So, what is Software Quality Characteristics? Testers need to verify if the software has good quality or not, hence it is necessary to understand how to define the quality.

ISO/IEC 25010 is an international standard which is issued by ISO(international standard organization) for the evaluation of software quality. It defines 8 main (quality) characteristics, namely: Functionality, Performance, Security, and also Compatibility, Reliability, Usability,Maintainability, Portability.

In this video, we will just explain some popular types.

Functional testing & Non-functional testing

First of all, Functional testing. It is a testing type which focused on the completeness, correctness and appropriateness of the software systems.

It can be done manually or automatically supported by many commercial and open source tools.

Meanwhile, Non-functional testing will focus on the “how well” of the system behaves.

Performance testing

The second one is Performance. Performance testing is the process of determining the speed, responsiveness and also the stability of the software prograM, a computer, network, or device under the specific workload.
There are two main performance testing methods: load testing and stress testing.

  • Load testing will help you to understand the behavior of a system under a specific load value.
  • Stress testing will place a system under the higher-than-expected traffic loads to evaluate ‘how well’ of the system works above its expected capacity limits.

Security testing

And the next testing type is Security testing.

Security testing is to check if the software or the product is secured or not. It checks if the system is vulnerable to attacks or if someone can hack the system or login into the application without the authorization.

Some sources claim that security testing is a functional testing. Because it can be compliant with the old version ‘ ISO 9126’. But following the latest ‘ ISO 25010’ , security testing is a non-functional testing type and it is one of the quality characteristics separately.

Compatibility testing

And the last one I want to introduce today is about Compatibility Testing.

Compatibility Testing is a testing type to check if our software is capable in the different testing environments such as hardware, operating systems, applications, network, mobile or different versions of the software.

Because the compatibility testing will be repeated on the different environment, so it is highly recommended to be automated testing.

From my experience, Testing type is a significant knowledge that every tester should know in order to test correctly. When you are consulting clients and also proposing the quality assurance solution, test experts also should define the important quality characteristics for that specific system and also point out the relevant testing types.

So, that is a take away video about the testing types. It’s quite short but hopefully, it’s helpful.

Testing processes

Continuing from the previous video about testing level and testing type, today I would like to introduce you another topic about testing process. Why do you need to know about the testing process? Because you will know what you need to do at each step and how to integrate testing into the development process. As you see in our picture, there are 5 steps when you do testing.

Test Planing and Test Control

Test planning is process to output the smart testing way. I often draw out an IMOC into one paper, and then document it later.

  • I – the input means Test basic including the software specification, test requirement, software, etc. I plan How and When I can receive input.
  • M – M is test Mechanism or how I will do the testing. I should think about the test strategy, schedule, and needed resources in order to do testing. 
  • O – Output of testing. Output is a test deliverable. For example, the test result, the test log, and bug report. I will plan of who I need to send the report to, and in which kind of format.
  • C – Test constraint. One important test constraint is exit criteria. It is when I can stop testing.

Test control is the process to compare the actual progress and actual reason with the plan at the beginning. You also need to plan how you can control your progress, and how you can control the quality. 

Test Analysis and Test Design

Test Analyzing is the process to analyze all of the test basics such as the test specification, requirement specification, and all additional documentation in order to define the test conditions. Test conditions could be a piece of functionality or anything you want to verify. 

Test Designing is the step to break down the test condition into different test scenarios and cases. It is very important to use different test technique to cover all the possibilities of the test cases.

Test Implementation and Test Execution

In this step, the testers will combine the different test scenarios or test cases into the test procedures following business flows or into the test suite following the purposes of testing. Testers will prepare the test environment and make the automation script if it needs.  After they get ready, the tester will execute the test cases, test suites, test procedures that they made before and log into the testing results. If they find bugs or any incidents, they will report it. 

Evaluation and Reporting

At this step, we will evaluate whether the test implementation is satisfied with the test purpose by comparing test results with the exit criteria at the planning stage. We judge if we need additional testing or not and send reports to all stakeholders.

Test Closure

All of the Test closure activities are done when software is delivered. Tester will check all the deliverable, and archive test ware. Then, they can do any handover or needed training to the maintenance team (organization). And then, they evaluate how the testing went and learn the lessons for future projects.

Those are five steps of the testing process. If you have any suggestion, please comment below. Thank you for watching, and see you soon.

Principles of Testing

Continuing the series  “Four things every tester needs to know about testing”, today will be the last topic named “7 Principles of testing”. We hope that the series of the video will be helpful for testers, especially freshers. Also through this series of the video, the experienced testers can be reminded about the basic but important knowledge. So, let’s get started! 

Testing can only prove that the software has error

Through the testing, we can find the bug and prove that the software has error. But we can not prove that the software has absolutely no error at all. Even in the absence of errors, we cannot claim that our software has no errors in the future.

Testing the entire pattern is impossible

Testing the entire pattern (combining all conditions of testing entry) is not possible, except for some extremely simple software. Instead of testing the whole system, testers will point out some risky modules to focus on. There are some testing techniques to support us to do that.

Testing should be involved as soon as possible

Testers should be involved in the project as soon as possible to find out the bug early. So, the correction cost will be reduced. Earlier testing, cheaper correction cost.

Defect Clustering – uneven distribution of errors

Most of the errors will be concentrated in some certain modules. It is like the 80-20 principle. So, the smart tester will spend time to analyze the most risky area to focus on.

The pesticides

Have you ever heard about it? The test cases are very similar to pesticides, and can not be used repetitively to eradicate insects during farming. It will over time lead to the insects developing resistance to the pesticide.
If you perform the test case multiple times, it will fail to find the errors. So, it is necessary to review and improve test cases frequently.

Testing depends on context

For different contexts, there will be different testing methods. For example, testing for the banking system will be differed from testing for the sales website; such as different quality characteristics, different testing types and different testing approaches.

“Bug zero” pitfalls

Please do not focus on creating the system without errors, but forget the initial requirements from customers and users. Software testing is not mere finding defects, but it also addresses if the software is fit with the requirement or not.

Those are 7  principles of testing. Please comment if you have any questions. Thank you very much for watching. Have a nice day.

If you like this series, you might also want to take a look at our series on Mobile testing and visit our Youtube channel.

Interested in our Testing Services?

Book a meeting with us now!

Embedded TestingEmbedded TestingEmbedded TestingEmbedded TestingEmbedded TestingEmbedded TestingEmbedded TestingEmbedded TestingEmbedded Testing

Testing types | 4 things every tester should know (Part 2/4)

This is the second video of the series Four things every tester should know about testing. Xuan will talk about Testing types and categorize them by Software Quality Characteristics.

You can watch the previous video of the series on Test Levels to get a an bigger picture of the topic.

You can watch our video here, or read the transcription below. Turn on subtitles for English, Japanese, Korean and Vietnamese.

https://youtu.be/Oazr-CNIgpk

Hello, everyone. Welcome back to our LotusQA channel.

On recent days, corona virus is spreading in many countries and it’s impacting a lot in our lives. So, I hope you are safe, and let’s stay positive. And take the advantage of this time to improve our skill and knowledge.

It’s the series Four things every tester needs to know about testing. In the previous video, I introduced about ‘Testing Levels’. And now, I want to introduce about another information about ‘Testing Types’.

Let’s begin.

A testing types are groups of test activities which are based on specific testing objectives. We could have different aspects to distinguish the different testing types.

For example, following the Quality Characteristic aspect , we could have Functional testing and Non-functional testing. Following the testing method, we could have Whitebox, Greybox, Blackbox testing or Manual/automated testing. Following the testing environment, we could have the alpha, beta and staging testing and so on.

In this video, let’s distinguish just based on the quality characteristic aspect.

So, what is Software Quality Characteristics? Testers need to verify if the software has good quality or not, hence it is necessary to understand how to define the quality.

ISO/IEC 25010 is an international standard which is issued by ISO(international standard organization) for the evaluation of software quality. It defines 8 main (quality) characteristics, namely: Functionality, Performance, Security, and also Compatibility, Reliability, Usability,Maintainability, Portability.

In this video, we will just explain some popular types.

Functional testing & Non-functional testing

First of all, Functional testing. It is a testing type which focused on the completeness, correctness and appropriateness of the software systems.

It can be done manually or automatically supported by many commercial and open source tools.

Meanwhile, Non-functional testing will focus on the “how well” of the system behaves.

Performance testing

The second one is Performance. Performance testing is the process of determining the speed, responsiveness and also the stability of the software prograM, a computer, network, or device under the specific workload.
There are two main performance testing methods: load testing and stress testing.

  • Load testing will help you to understand the behavior of a system under a specific load value.
  • Stress testing will place a system under the higher-than-expected traffic loads to evaluate ‘how well’ of the system works above its expected capacity limits.

Security testing

And the next testing type is Security testing.

Security testing is to check if the software or the product is secured or not. It checks if the system is vulnerable to attacks or if someone can hack the system or login into the application without the authorization.

Some sources claim that security testing is a functional testing. Because it can be compliant with the old version ‘ ISO 9126’. But following the latest ‘ ISO 25010’ , security testing is a non-functional testing type and it is one of the quality characteristics separately.

Compatibility testing

And the last one I want to introduce today is about Compatibility Testing.

Compatibility Testing is a testing type to check if our software is capable in the different testing environments such as hardware, operating systems, applications, network, mobile or different versions of the software.

Because the compatibility testing will be repeated on the different environment, so it is highly recommended to be automated testing.

From my experience, Testing type is a significant knowledge that every tester should know in order to test correctly. When you are consulting clients and also proposing the quality assurance solution, test experts also should define the important quality characteristics for that specific system and also point out the relevant testing types.

So, that is a take away video about the testing types. It’s quite short but hopefully, it’s helpful.

Thank you for watching and see you in the next video. Don’t forget to share and subscribe to our LotusQA channel.

Interested in our Testing service?

Book a meeting with us now!

Blog

The psychology of testing

The psychology of testing

The following factors influence the success of testing. All of the testers should keep these in mind before they start to do testing.

 

Comparison of the mindset of the tester and developer

The testing and reviewing of the applications are different from the analyzing and developing of it. By this we mean to say that if we are building or developing applications we are working positively to solve the problems during the development process and to make the product according to the user specification. However while testing or reviewing a product we are looking for the defects or failures in the product. Thus building the software requires a different mindset from testing the software.

 

The balance between self-testing and independent testing

The comparison made on the mindset of the tester and the developer in the above article is just to compare the two different perspectives It does not mean that the tester cannot be the programmer, or that the programmer cannot be the tester, although they often are separate roles. In fact programmers are the testers, they always test their component which they built. While testing their own code they find many problems so the programmers, architect and the developers always test their own code before giving it to anyone. However we all know that it is difficult to find our own mistakes.

So, programmers, architects, business analysts depend on others to help test their work. This other person might be some other developer from the same team or the Testing specialists or professional testers. Giving applications to the testing specialists or professional testers allows an independent test of the system. This degree of independence avoids author bias and is often more effective at finding defects and failures.

There is several level of independence in software testing which is listed here from the lowest level of independence to the highest:

  1. Tests by the person who wrote the item.
  2. Tests by another person within the same team, like another programmer.
  3. Tests by the person from some different group such as an independent test team.
  4. Tests by a person from a different organization or company, such as outsourced testing or certification by an external body.

 

Clear and courteous communication and feedback on defects between tester and  developer

We all make mistakes and we sometimes get annoyed and upset or depressed when someone points them out. So, when as testers we run a test which is a good test from our viewpoint because we found the defects and failures in the software. At the same time we need to be very careful as to how we react or report the defects and failures to the programmers. We are pleased because we found a good bug but how will the requirement analyst, the designer, developer, project manager and customer react.

  1. The people who build the application may react defensively and take this reported defect as personal criticism.
  2. The project manager may be annoyed with everyone for holding up the project.
  3. The customer may lose confidence in the product because he can see defects.

 

Test design techniques

1. What are the Test design techniques?

  • Basically, Test design techniques help us choose a good test set from the total number of tests possible for a given system. There are different types of software testing techniques, each with its own strengths and weaknesses.
  • Exhaustive testing is not possible, so Manual Testing Techniques helps to reduce the number of test cases while ensuring the quality of the test, helping to identify test ranges and conditions that are difficult to identify.

2. Types of Test design techniques

There are many types of Test design techniques, but there are two main types:

2.1. Static testing technique

Static testing is a type of testing technique that does not execute source code or do not run software systems, such as checking, reviewing specification documents, design documents, source code to find errors.

It is done early in the software development life cycle and so it is done in the verification process.

Most static testing techniques can be used to test any form of documentation including source code, design and model documentation, functional specifications, and required specifications.

Static testing technique usually includes the following methods:

  • Informal review: an evaluation process that does not require an archive of the meeting, nor does it need to be recorded.
  • Walkthroughs: This is a type of instruction, explained by the person who is familiar with the software logic, in order to transfer knowledge to the participants in the test cycle.
  • Technical review: This method focuses on the technical evaluation of the software. Usually led by a moderator or someone with technical knowledge with technical experts involved. This is a discussion focused on reaching consensus on technical content to make a decision
  • Inspection: This method is also operated by moderators. Its purpose is to clearly define the role of each person in the process as well as the input and output criteria of the software. Thereby finding errors as well as aggregating and analyzing to optimize processes.

2.2. Dynamic testing technique

Dynamic testing technique is a type of testing to confirm the function of the application when the code is executed / by executing the code. In short, dynamic testing is performed by actually using the application and seeing if a function works the way it is expected.

Dynamic testing includes 2 types:

+ Whitebox testing: Consider how the code works inside. For this type of test, testers need an understanding of the code.

+ Blackbox testing: Check that the function of the software application is working as expected. Blackbox testing 2 types:

  • Functional testing
  • Non-Functional testing

Test design techniques

In the next articles, we will mention types of test design techniques in detail. 

Read  Black box test design technique and White box test design technique.

For more information about Testing services, please contact us

———————————————————–

Lotus Quality Assurance (LQA)

Tel: (+84) 24-6660-7474

Email: [email protected]

Website: https://www.lotus-qa.com/

Youtube: Lotus QA channel

Automated TestingBlogBlogBlogBlogBlogBlogBlogBlogBlog

White box testing

White box testing

Any one software product is definitely at fault because software products are built by humans. Therefore, an independent person, group, or organization will need to be tested to see if the product has any problems or errors. For software testing, we need to have effective testing strategies and techniques for each level of testing. Software testing consists of two parts that require different skills, white-box testing and black-box testing.

In this topic, I will delve into the white box testing. To better understand the technique of white box testing (White-box testing), we take a look at the following contents:

1.What is White box testing

White box testing is a software testing method in which the internal structure, design or implementation of the item being tested is known to the tester. The tester chooses inputs to exercise paths through the code and determines the appropriate outputs. So Programming know-how and the implementation knowledge is essential.

2. Subjects of application

The object to be tested is a software component. The software component can be a function, a function module,…

3. Levels Applicable To

White Box Testing method is applicable to the following levels of software testing:

  • Unit Testing: For testing paths within a unit.
  • Integration Testing: For testing paths between units.
  • System Testing: For testing paths between subsystems.

However, it is mainly applied to Unit Testing.

4. Pros and cons of White box testing

Pros

  • Testing can be commenced at an earlier stage. 
  • Testing is more thorough, with the possibility of covering most paths.

Cons

  • Since tests can be very complex, highly skilled resources are required, with a thorough knowledge of programming and implementation.
  • Test script maintenance can be a burden if the implementation changes too frequently.

5. Common white box testing techniques

5.1. Baseline test – Line graph

  • A technique used in white box testing was first introduced by Tom McCabe. The line graph is similar to the program control flow graph.
  • Baseline test – Line graph is one of many methods of algorithm description. Besides, this is a visual method that shows us easily the components of algorithms and relationships
  • Contacts in implementing these components.
  • Basic line techniques – flow graphs can help test case designers get a degree of procedural complexity.
  • Consists of 2 types of components: nodes and arcs connecting them.
  • Types of buttons in the control line graph:

White box testing-button-control line

  • Types of structure components of line graphs:

White box testing-structure-components

Example:

If the control flow graph contains only binary decision nodes, then we call it control flow graph of a binary. Also, we can always detail any control flow graph into a binary control flow graph.

White box testing

5.2 Testing based on control flow

  • Execution path is a script to execute the corresponding software unit. In addition, it is an ordered list of commands executed for a specific run of the software unit, starting from the entry point of the software unit to the ending point of the software unit.
  • Each software component has from 1 to n (possibly very large) different implementation paths.
  • The objective of the control flow test method is to ensure that all the execution paths of the software units under test are run properly. But in reality, the effort and time to achieve the above goal is very large, even on small software units.

For example: the following code

for (i=1; i<=1000; i++) for (j=1; j<=1000; j++) for (k=1; k<=1000; k++) doSomethingWith(i,j,k);

only one execution path, but very long

For more information about Testing services, please contact us

———————————————————–

Lotus Quality Assurance (LQA)

Tel: (+84) 24-6660-7474

Email: [email protected]

Website: https://www.lotus-qa.com/

Youtube: Lotus QA channel

Software TestingSoftware TestingSoftware TestingSoftware TestingSoftware TestingSoftware TestingSoftware TestingSoftware TestingSoftware Testing

Black-box Test Design Techniques

What are Test Design Techniques? 

Basically test design techniques help us choose a good test set from the total number of tests possible for a given system. There are different types of software testing techniques, each with its own strengths and weaknesses.

Performing testing at different stages of the software development life cycle will find different types of bugs, component testing is more likely to find coding logic errors than system design errors.

In the series of test design techniques, I will start with Black box techniques.

Black-box Techniques

In the article I will mention the 4 most common techniques in black box testing

  • Equivalence partition
  • Boundary value analysis
  • BDecision table
  • State transition testing

1. Equivalence Partitioning

  • Inputs to the software are divided into groups that are  expected to exhibit similar behavior, so they are likely to be  processed in the same way
  • Equivalence partitions can be found for

+ Valid data – values that should be accepted.

          + Invalid data – values that should be rejected.

Example: A textbox can input integer numbers from 1 to 99 

    • Partition 1 – invalid: < 1 
    • Partition 2 – valid: 1 <= & <=99
    • Partition 3 – invalid: > 99

Equivalence-Partitioning-Techniques

2. Boundary Value Analysis

The maximum and minimum values of partition are its boundary values.

Boundary-Value-Techniques

Boundaries define 3 set of data:

  • In-bound
  • Out-of-bound
  • On-bound

Example: A textbox can input integer numbers from 1 to 99 

    • Select value for test case: 0; 1; 99; 100 

Boundary-Techniques

3. Decision Table

Equivalent partitioning and boundary value analysis are usually applied to an input. In the case of combining multiple inputs in a function, it is difficult to use an equivalent partition or boundary value analysis. In this case, we can use Decision table or State transition

Decision table includes:

  • Row of Cause (Condition) and Effect (Action/Expected Result)
  • Columns of possible combinations.

Columns-Possible-Combinations-Decision-Techniques

Example1: Login form

Login-Form-Decision-Techniques

Example2:

If you are the customer opening a credit card account, you will have a 15% discount on all shopping activities today. If you are a loyal customer, you have 10% discount interest. If you have an offer (coupon) (but not a new customer), you get a 20% discount today. From the above specification we have the following conditions:

  • New customer (15%)
  • Loyalty cart (10%)
  • Coupon (20%)

We have 3 conditions => we have 8 rules to test. Make a decision table as follows:

Decision-Techniques

4. State transition testing

State transition testing is used when certain aspects of the system are described by state machines. Put simply, the system can be in a (limited) number of states and sessions from one state to another that is governed by a state machine rule. This is the model that we will use as a basis for testing. Any system where you have different outputs from the same inputs and the output depends on the pre-existing state is called a “finite state system” and such a system will be able to be displayed by a State diagram.

For example:

If you want to withdraw $ 100 from an ATM, you put the card into the machine. After you complete all the steps required by the ATM Then you complete the steps required by the system, but the withdrawal is unsuccessful (because the balance in your account is not enough to make a withdrawal). The withdrawal is not successful because the bank account has changed the status from enough to make a withdrawal to not enough to make a withdrawal. This state transition is due to your previous withdrawals. A status diagram can be presented by a model under the view of the system, the account or the customer.

A state transition model consists of the following 4 parts:

  • The state that the program may have (e.g. insufficient balance, expired account …)
  • Transitions from one state to another
  • Events causing conversion (for example, entering a PIN code, closing a file …)
  • Actions are the result of a conversion (for example, an error message, returning an ATM card …)

State-Diagram-Pin -Entry-Techniques

For more information about Testing services, please contact us

———————————————————–

Lotus Quality Assurance (LQA)

Tel: (+84) 24-6660-7474

Email: [email protected]

Website: https://www.lotus-qa.com/

Manual TestingManual TestingManual TestingManual TestingManual TestingManual TestingManual TestingManual TestingManual TestingManual TestingSoftware Testing

What should be checked to assure for mobile testing flow

In a mobile testing flow, there are lots of factors having influence on quality of products. So let’s find it down.

1. Mobile testing flow-App installing

・ Can the app be installed on your device?

・ What happens when the app is installed (the device runs out of battery, loses network, ..)

2. Mobile testing flow-Device memory

mobile-testing-flow-device-memory

・ App takes up a lot of device memory?

・ What happens if you install the app when full memory?

3. Mobile testing flow-Display

mobile-testing-flow-mobile-display

・ Check vertical and horizontal screen

・ Check actions, zoom in/out (all actions)

・ Check the interface is not cut

・ Check to see if objects overlap

・ Check to see the loading icon appears where needed or not

・ Characters should not move away from certain screens/ areas

・ Check to enable or disable images / icons and buttons

・ Check the screen title

・ Check the message title, description description, label (textbox title) match or not

・ Check if the focus position is set to the first field or the first control when the screen loads.

・ Display font (color, size …)

・ Scroll effects, smooth page transition

・ The data saved when the window is closed, …

4. Mobile testing flow-Function

mobile-testing-flow-function

・ Ensure the functions included in the design work well

・ Test out-of-stream functions

・ Click, swipe, otuch, scroll … fast to detect errors

・ Redirects from links in apps or social links (g・, facebook …)

・ Get data from the server while in background running, screen lock or listen

・ Check data synchronization when logging in to multiple devices (desktop, tablet, mobile)

・ Test camera if available in the application, (take photos, store …)

・ Content and images display well when sharing on Google, facebook …or phones with facebook and applications installed, and without those applications.

・ Notification from apps like updates, reminders …

・ On / Off sound occur error

・ Time on app, server, ..

・ Change the time on the Device

・ Shutdown network suddenly while using the app

・ Rotate the screen while using the app

・ Check app vibration if available

・ Check if using the app for a long time may cause heat

・ Check other actions interfering while using the app: making calls, texting, alarms, …

・ Attention to test for System Crash / Force Close cases

5. Mobile testing flow-Update new version

・ Check if an updated version available while using the app

・ Check if data loss when updating to a new version

For more information about Testing services, please contact us

———————————————————–

Lotus Quality Assurance (LQA)

Tel: (+84) 24-6660-7474

Email: [email protected]

Website: https://www.lotus-qa.com/

Testers Need to Know: Software Testing Basics, Principles, Skills, Phase

Software Testing has always been an indispensable part of a Software Development Life Cycle. While other processes of strategic analysis and software development help build up the “spine” of the whole product with basic functions and interface, software testing is for a well-rounded, fully-functioning product. Get to know the software testing basics in this article now.

Testing is often referred to as test implementation, which means running software and testing. Test implementation includes the process of executing a program or application such as designing tests or checking results, writing test reports, etc.

Check out our testing foundation video series

The Purposes Of Software Testing

The main purposes of the Test include the follows:

  • Detect bugs
  • Prevent the creation of errors in the system
  • Check if the product quality meets requirements
  • Provide information to support product decisions, such as if it’s market-ready or not

We need to distinguish the difference between Test and Debug. Test is to find errors, and Debug is to find out the cause of the errors and fix them. The responsibility of testing usually lies with testers, and the responsibility of debugging belongs to the developers.

These are the basic steps for the subsequent coverage of testing. How much effort and time to be spent on the testing process depends on the system structure and the complexity of that system.

To start your journey as a tester, either manual or automation, you need to get acquainted with these fundamentals of testing:

  • 7 principles of testing
  • 15 skills every software tester should master
  • The basic test phases
  • Psychology of testing

7 principles of software testing basics

Software Testing Principle -Software Testing basics

Software Testing Principle – Software Testing basics

Principle 1: Testing can only prove that the software has errors

Software Testing basics – Through testing, we can indicate that the software has errors, but can not prove that the software has no errors at all. Testing can reduce the number of errors in the software, but even in the absence of errors, we cannot claim that our software is error-free.

Principle 2: Testing the entire pattern is impossible

Testing the entire pattern (combining all conditions in data entry) is not possible, except for some extremely simple software. Instead of testing the whole thing, we should rely on risks or priority to focus on the points needed.

Principle 3: Test as soon as possible

To find bugs early, testing should start as soon as possible in the software development process. Different software system requires a different approach for an effective testing process. Test engineers can choose among the popular models, including V-model, Agile, Scrum, etc.

Principle 4: The uneven distribution of errors

It is likely that most errors detected before releasing or during operation are concentrated in certain modules.

Principle 5: The principle of pesticides

When you perform the same test case multiple times, it will eventually fail to find the errors. To avoid this, it is necessary to review and improve test cases periodically.

Principle 6: Testing depends on conditions

For different conditions, there will be different test methods. For example, testing the banking system will be completely different from testing a sales website.

Principle 7: The “bug zero” pitfalls

Do not be so focused on creating a system without errors that you forget the initial requirements from customers. In the end, we are developing a product for certain requirements and purposes, not building bug-free software but no one needs it.

Find the top 10 IT Outsourcing companies for your testing projects

10 Skills every software tester should master

Software Testing basics – Software Testing is evolving at a rapid pace with higher demand over the product and service’s quality. To ensure this, many are applying critical testing methodologies such as agile, DevOps, scrum, etc., all of which are part of the accelerated development and continuous deployment.

Listed below are the 10 skills that every tester needs to know. The skills are categorized as technical skills and non-technical skills.

Technical skills

– Testing Methods: Manual Testing & Automation Testing

Manual testing is usually the first door for testers to enter the testing world. This is when a test engineer rely on on pre-defined test cases and test scenarios, then carry out all test steps manually.

In addition to manual testing is automation testing. It deals with testing on a higher level which requires programming and coding skills. In exchange for a large amount of time spent on writing automation testing code, we can have higher accuracy with a lower cost once the automation testing is implemented.

manual-testing-vs-automation-testing

Manual Testing vs. Automation Testing

Still, both manual and automation testing have their own benefits and can co-exist in a specific testing process. During testing phase of one product, we may see this scenario should be manual while others better come with automated solutions.

The most outstanding feature of automation testing is how it can save up a fortune for business that applies it. With the increasing complexities and advances in software nowadays, the burden of testing is placed heavily on manual testers. Not to mention huge workloads, there are to be stress and tedious testing tasks that manual testers have to deal with. Once automation testing steps in the game, you can instantly recognize the faster pace of the product/service’s time to market.

– DevOps & Agile Methodology

The global market constantly needs more than what they’ve already had. To meet these ever-growing demands, strategists have to put more features, more applications available to the public. This pressing demand to meet delivery deadlines requires collaborative and iterative working models, which should be found in DevOps and Agile methodology.

When you apply Agile methodology, continuous integration and continuous delivery are pushed in an endless cycle of testing, which will eventually speed up the test project.

Software Testing basics – If you combine this methodology with DevOps, you can create cross-functional teamwork right from the development, analysis, and QA. This yields a high-quality product with a faster time to market.

– SDLC

SDLC stands for Software Development Life Cycle. Normally, you can find useful information on how software is made and what steps of it involve software testing. Once you’re familiar with the in-depth knowledge of SDLC, you can anticipate complexities in the application to handle and predict the right testing measures to be done.

– CI/CD

A mature CI/CD DevOps practice has the option of implementing continuous deployment where application changes run through the CI/CD pipeline and passing builds are deployed directly to production environments. Teams practicing continuous delivery elect to deploy to production on a daily or even hourly schedule, though continuous delivery isn’t always optimal for every business application.

– Testing Tools & Techniques

Testing techniques stand as the most practical requirement for test engineers to master. The most common testing techniques needed in the testing process of every product are black-box testing, penetration testing, regression testing, smoke testing. With these testing techniques in hand, testers become more versatile and can handle every task there is.

automation-testing-tools

Automation testing tool is also an important feature for a more cost-effective and high-quality work of testing. With a large number of tools available in the market such as test management tools, GUI testing tools, automation tools, etc., testers can find the suitable ones that can serve different requirements and test purposes in projects with different levels of complexity.

Non-technical skills

– Critical thinking

Although testing is infamous for being tedious and repetitive, once you’re part of the process, you will see that testing also requires a high level of logical thinking and strategic analysis. With these skills, test engineers can identify errors and understand product structure more easily, hence the suitable testing approach and test method.

With a skeptical and multifaceted assessment, testers can validate applications in different usage and scenarios, hence having a practical approach to test their elements dynamically.

– Communication skills

Communication in testing is as important as it is in other fields of the IT industry. These communication skills can help testers deliver their work process and project status to the stakeholders effectively.

An effective approach for communication in a testing project should also include how test engineers inform project requirements, collaborate among team members, etc. Achieving these skills will help in demonstrating a high level of competency on a managerial level.

– Test planning

Test planning skill is essential for any test engineers that want to climb the career path in testing. This skill helps you identify the right approach and appropriate steps to take in testing. Besides all that, test planning also helps in reporting and logging work, giving the stakeholders the overall picture of how the test project is done. To do this, many test engineers devise a well-documented report of the test process and record of what has been done throughout the work.

– Project Management

Consider the test career path with test manager stands at the higher ground, project management skill is a must for any tester want to continue on their career. With this skill mastered, test engineers can answer to stakeholders and be responsible for their team’s work. This also helps them in team management and team assessment.

– Reporting

A good tester must also possess good reporting skills to provide the exact status of the test project and application under test to stakeholders. This practice of reporting leads to better coordination of the overall test project and also gives transparency to the top management in terms of test cases executed, bug encountered, release timelines, etc. which eventually helps in taking the right decisions.

The basic test phases – Software testing basics

Software Testing Principles - Software Testing Phases

Software Testing Basics – Software Testing Phases

1. Planning and control

Software Testing basics – Test planning is the determination of the purpose of the test and the spec decision. Test control is the activity of comparing the plan with the progress during the test.

Overall, test planning is to identify the objectives of testing and what activities in order to meet these objectives. The main task of planning is to determine the test strategy or approach. Test planning should also clarify scope, risks, required test resources, test schedule, etc. Meanwhile, test Control is the ongoing activity to make sure everything is on track.

2. Test analysis and design

Convert abstract goals into specific test conditions or test designs. Specific example:

  • Review for test base such as risk analysis report, interface spec, etc.
  • Design test cases with their priority
  • Classify the necessary test data

3. Test implement and Test execution

At this stage we will create scripts or test sequences based on test cases and other necessary information, then set up the environment and execute testing.

4. Output and report evaluation

The output evaluation is the evaluation of whether the test implementation is satisfied with the purpose of the Test. For example:

  • Compare Test results with specified Test end criteria at the Test Planning stage
  • Judge whether you need additional tests or need to change the criteria for the output
  • Write Test reports

Psychology of testing

The Psychology of Testing - Software testing principles

The Psychology of Testing – Software testing principles – Software Testing Basics

Software Testing basics – Testers and Developers always have the same goal – to create a flawless solution for their client’s needs. But they work and think differently. If the developers have a suitable opinion then they can test it themselves. However, separating the environment for the developers and testers will be more effective, and testing from a completely independent standpoint from development by well-trained testers will be more beneficial.

Tester is a reliable and objective third side that can see the possible mistakes and errors that Developer hasn’t predicted. While testing is a constructive job but it is sometimes considered negative so creating a good relationship between testers and developers is extremely important.

To build a good relationship between testers and developers, the following things are needed.

  • There is a common goal of creating a good quality product, starting work with a cooperative attitude, not opposition.
  • The opinions about the product must be neutral and true
  • Try to understand the moods and reactions of others
  • Try to convey what you want to say and understand what others want to say

If you want to have more information about Testing services and the software testing basics, please contact us!

———————————————————–

Lotus Quality Assurance (LQA)

Tel: (+84) 24-6660-7474

Email: [email protected]

Website: https://www.lotus-qa.com/