Category: Blog

BlogBlogBlogBlogBlogBlogBlogBlogBlogBlog

AI in Agriculture: Transforming the future of farming

Agriculture is one of the oldest and most significant professions in the world. As the population continues to grow and land becomes scarce, people needed to get more efficient farming practices.

AI (Artificial Intelligence) is now one of the best solution for the problem of the sector, helping farmers to organize farm data, plant healthier crops, monitor growth, and supports a wide range of farming-related tasks. This could bring about a significant shift in how our food is produced respectively.

AI helps organize agriculture data

First, farmers can get data such as temperature, soil conditions or water usage from their farm to better make their decisions with the support of AI.

There is a term, “precision agriculture”, which means technology (including AI) being applied to get better crop outcome. For example, through the study of historical crop data and external sources, AI systems can give exact recommendations of what crops to plant, how much irrigation to have, how much fertilizer is needed etc.

In terms of risk management, they can detect diseases in plants, insects, and poor plant nutrition. AI-powered sensors can detect and decide which herbicides to apply within the right buffer zone. This helps to minimize amount of herbicides and residue that remains in food.

Application of Computer Vision in Farming

Nowadays, farmers can get a better “view” of their crops from above thanks to drones powered with algorithms. This allows them to identify troubles and potential improvements as soon as possible.

According to several reports, a few large industrial farms tried applying those previously mentioned Computer Vision to find and confiscate sicks pigs at the outset of an African swine fever epidemic which adversely influenced Chinese economy. Hence, drones give more potential savings in time within a larger area than humans.

Forecasting Weather data

Helping farmers to remain updated with the data related to weather forecasting is an efficient application of AI. Then, these predicted data help farmers increase yields and profits without risking the crop. After that, analysis of those data could help the farmer to take the precaution by understanding and learning with AI. By implementing such practice helps to make smart decisions on time.

Monitoring Crop and Soil Health

In an advanced way, utilizing AI helps farmers to monitor nutrient deficiencies in the soil and identifies possible defects. Using image recognition, AI identifies possible defects through images captured by the camera. With the help of Al, flora patterns in agriculture can now be . Such AI-enabled applications are supportive in understanding plant pests, soil defects and diseases.

Indoor Farming

There is an evolutionary trend that is indoor farming which means a method of growing crops or plants, usually on a large scale, entirely indoors. This method of farming often implements growing methods such as hydroponics and utilizes artificial lights to provide plants with the nutrients and light levels required for growth. AI-powered indoor farming is creating a future generation of farmers now. Last year, for example, 80 Acres Farms, who produced indoor growing movement, launched the first fully-automated indoor growing manufacturer in the world. The enterprise’s AI-driven technologies control all critical stages of the commercial development.

In conclusion, with the application of AI in agriculture, farmers around the world could run more efficiently, enabling farms of all sizes to operate and function with keeping the world fed. The future of AI in agriculture is way ahead in offering radical transformation with advanced approaches.

As mentioned throughout the article, good input data is vital in developing meaningful AI algorithms.

You can refer to AI labeling, the foundation for AI here or join our webinar this July below:

Marketing and Artificial Intelligence

Since its introduction, artificial intelligence has impacted various fields; including labor, healthcare, education, transportation and especially marketing. In marketing, AI has brought radical change in the way enterprises approach and perceive their target customers.
In order to bring better customer experience, companies have adopted this new tech trend and put several applications into use.

Searching tool

First, NLP (Natural Language Processing) systems can help search services “guess” what users mean when they querry strange or keywords.

One popular AI-powered system being implemented now is RankBrain by Google. Using machine learning, this algorithm is able to understand incomplete querries, typos, and moreover, guess the user’s intention; so that they can provide the proper search results, improving user’s experience of the platform.

Developing relationships with customers

Another application of AI in marketing is to help companies capture customer information, analyze purchasing behavior, thence improve their shopping experience. Behaviors can be articulated through customer behavior KPIs (average time on site, number of interactions…).

AI in Marketing: Google Analytics collects data and builds customer profiles

These benefits come in forms of CRM systems, automated filtering processes, recommendation systems for cross-selling or up-selling, and even fraud detection algorithms.

Programmatic Advertising

With better understanding of the customer, better statistical computing alongside with automation power; advertising are becoming more and more dynamic and customized, both on online and out-of-home platforms.

The core principle is, trying to find the same patterns among people with certain demographics.

In offline advertising, companies can take advantage of the strengths of Camera AI to optimize advertising cost. The Camera will identify the type of customer who is approaching the ad, then change the ad template to suit the audience based on their gender and age. This is gradually improving the efficiency of these ads, making these ads really “live”.

Online marketing is where ads really become personalized. The prominent example is Google Ads and Google Display Network. Customer information (demographics, behavior) is collected all over on the internet, sometimes when people search, sometimes when they watch Youtube videos, and sometimes even through websites they visit. Thanks to this great volume of data and feedback, Google is able to segment their customers and predict things that might interest a certain group before they are even aware of those.

AI in Marketing: Google Ads personalization

Conclusion

Artificial intelligence is an inevitable development trend in the digital age. The application of AI to the fields of socio-economic activities, specifically marketing activities, is not only useful but also necessary. However, the problem that businesses need to keep in mind is the “application but not dependence” on AI.

Building a trading strategy or more specifically developing relationships with customers needs to be done by humans because it requires in-depth thinking. Artificial intelligence – AI, though useful, is ultimately an achievement from human creativity and will certainly not replace human intelligence. To sum up, smart machines require smart scoping of problems.

As mentioned throughout the article, good input data is vital in developing meaningful AI algorithms.

You can refer to AI labeling, the foundation for AI here or join our webinar this July below:

Embedded TestingEmbedded TestingEmbedded TestingEmbedded TestingEmbedded TestingSoftware 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!

IT Outsourcing

Software development models

Software development models

Software testing is an integral activity of software development activities. If the software development process is the backbone that creates the basic software programs, then the testing process will cover the muscles in accordance with customer requirements to help complete a qualified figure. Knowing the soft development model will help you have a view of orienting and building the right, more effective and appropriate testing activities.

In this article, we will share with you 3 popular software development models that’re widely used in the technology space with their pros and cons.

1. Waterfall – Software models

Waterfall software development methodology is the model when all stages are clearly defined at the beginning, and the development process will strictly follow a pre-defined plan without much flexibility to adjust things.

Stages of development in the Waterfall model:

・Requirements collecting: collect information about product details and features from customers as much as possible.

・Design: plan which programming language (Java or .NET, etc.) you will use, which database (Oracle or MySQL, etc.) as well as the general features and architecture of the product. Products.

・Construction: After design is the construction phase (writing code for the product).

・Test: check if the product is built according to the customer’s original requirements or not. 

・Deployment: Deploy products to customers.

・Maintenance: After deploying a product to a customer, you may receive a request from a customer to customize or modify the product.

Waterfall-software-models

Waterfall software development model

Advantages

Disadvantages

The stages are clearly defined inputs and outputs     

Requires all software requirements to be clearly defined at the outset of the project. But most practical projects that require software often contain uncertain issues.
Software products are formed through a sequence of clearly sequenced activities. The actual project is rarely done fully during the project cycle. Besides, the close date of sending a program to customers or being modified directly leads to the software specification not fully reflect what was modified in the source code.
There are hidden risks that can only be detected at the final stage and the cost to repair can be very high.

2. V-model

V-model is a successor to the waterfall software development model yet adding testing phase to each development phase. Corresponding to each stage of the development cycle is the corresponding test phase as the below image. The left side of the V-model is the software development cycle (life cycle). And the right of the V-model is the corresponding test operation.

Vmodel-software-models

V-model in software development

Advantages

Disadvantages

Simple, easy to use. Few flexibility and rigidity exist. It is also shown that every step must have one – test stage, if the project requirements are not too complicated and easy to implement, then performing many such tests is time consuming.
There are activities, specific plans for the testing process. Like the waterfall, the project’s product only appears when all the steps are completed, without the original prototype. 
Save time, and have a higher chance of success than the waterfall. If there is a technical change in the middle, it will have to go back to the first step, redo, update the document.
Testing activities are focused and carried out in parallel with activities related to the required specification and design. Be proactive in bug detection, find bugs right from the start.

3. Agile – Software models

Agile is the “iterative” development model. In this type of model, software development is carried out in stages and each stage only focuses on developing one or several product features. In addition, each project is divided into several small areas for ease of use and change when customers request changes. Every small part of the project will be tested right during the project. It is required to meet regularly because in Agile at each time the team must focus on developing an area of the project.

Agile-software-models

Agile software development model

Advantages

Disadvantages

Agile is a great choice for small projects because small projects often have unspecified requirements and can change often. Lack of emphasis on design and required documentation
With Agile, customers can preview each part of the project during the development process. Because Agile develops software in an incremental way, which can give customers a preview of each completed part. The size of human resources is usually limited to 7 to 10 people, and it will be a big problem if the required human resources exceed this figure, for example during the exchange meetings.

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

Manual TestingSoftware TestingSoftware TestingSoftware TestingSoftware TestingSoftware TestingSoftware Testing

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.

 

Manual TestingManual TestingManual TestingManual TestingManual Testing

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

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

Automated 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/

Automated TestingAutomated TestingAutomated TestingAutomated TestingAutomated TestingEmbedded 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/

Mobile App

How to choose appropriate mobile devices for testing-Mobile testing tutorial

It is clear that the mobile application or mobile devices is very different from the desktop one. So, we should take this feature into the testing process.

Devices feature

mobile-devices

  1. Various mobile devices with different screen sizes and hardware configurations such as hard keyboard, virtual keyboard (touch screen) …
  2. Many mobile device manufacturers such as HTC, Samsung, Apple,…
  3. Various mobile operating systems such as Android, Symbian, Windows, IOS…
  4. Different versions of operating systems like iOS 5.x, iOS 6.x, BB5.x, BB6.x etc.
  5. Regular updates of the version – (such as android- 4.2, 4.3, 4.4, iOS 5.x, 6.x) – with each update need to ensure that no application functionality is affected .
  6. Mobile devices have smaller phone screen sizes than desktops.
  7. Devices have less memory than desktop computers.
  8. Mobile devices typically use a 2G, 3G, 4G or WIFI network connection, while desktop computers often use broadband or dial-up connections.
  9. Automated testing tools may not work on mobile applications

Devices limit

mobile-devices-data-limit

  1. CPU processor limit of devices
  2. Limited RAM
  3. Depends on the source
  4. Limited battery life
  5. And importantly, now in companies the equipment for testing is very scarce.

How to choose mobile devices

mobile-devices-selection

Compared to emulators or simulators, real devices are always the best choice for testing mobile applications. But it is not easy to choose appropriate devices. Here are some suggestions for mobile devices selection

・Perform an analysis to identify the most popular and used utilities in the market. Besides, if you must test on various devices, hiring devices from mobile stores is also an economical option.

・Choose devices with different screen resolutions, different operating systems,…

・Check other factors such as compatibility, memory size, connectivity,…..

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/