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

Must known key points before testing mobile applications-Mobile testing tutorial

Before starting testing mobile applications, Tester needs to know a few things to be able to test better:

1. Analyze similar mobile applications

testing-mobile-applications

Try analyzing some other applications similar to yours. For example, if you have to test a file-sharing application on a mobile phone, look for some other similar applications and observe its features.

2. Keep the emulators ready

testing-mobile-applications-emulator

Sometimes it takes a lot of time to borrow or require mobile devices for testing. In this case, to take advantage of the time you might want to test a few cases on the emulator.

You can refer to http://responsivepx.com/ and http://quirktools.com/ to check how your website looks on the desktop and on various types of mobile devices.

3. Analysis of device-related issues

Once the target device has been identified, explore the issues related to that device. This will help you understand what you are and will encounter with a device or application.

4. Use an emulator but don’t fully trust it

You may need the emulators during testing, but keep in mind that you cannot perform 100% test cases on emulators. In addition, the response time in the emulator is very different from the actual device, so you may overlook some errors and these are the weaknesses of real devices.

5. Determine performance criteria

For any mobile application, performance is the biggest concern. Make sure you have performance parameters or requirements that you can rely on during testing. Memory is also one of the weaknesses of mobile devices, and application behavior depends on these conditions

Those are some information we find useful before testing mobile devices.

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 TestingEmbedded TestingManual TestingSoftware Testing

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/

Data Annotation

What is the best way to collect Datasets for Annotation?

 

Data is the foundation of all the AI projects and there are different ways to prepare datasets, including collecting through the internet or consulting an agency. So, what is the best way to get raw data for the AI Data Training process?

One suggested way to collect the train and test data is to visit various open labeled resources like Google’s Open Images and mldata.org or many other websites providing datasets for training in ML projects. These platforms supply you with an endless multitude of data (mostly in the form of images) to start your training process. 

Depending on what kind of datasets you’re looking for, you can divide it into these categories of:

  • Open Dataset Aggregators
  • Public government Datasets for machine learning
  • Machine Learning Datasets for finance & economics
  • Image datasets for computer vision

For a high-quality machine learning / artificial intelligence project, datasets for training is the top priority that defines the outcome of the project. For the qualified and suitable datasets, you can consider the following filters to find the most suitable ones.

 

Open Dataset Aggregators

The most common thing that you might be looking for when working on machine learning / artificial intelligence is a source of free datasets. Open dataset finders that you can use to browse through a wide variety of niche-specific datasets for your data science projects. You can find it in:

  • 1. Kaggle: A data science community with tools and resources which include externally contributed machine learning datasets of all kinds. From health, through sports, food, travel, education, and more, Kaggle is one of the best places to look for quality training data.
  • 2. Google Dataset Search: A search engine from Google that helps researchers locate freely available online data. It works similarly to Google Scholar, and it contains over 25 million datasets. You can find here economic and financial data, as well as datasets uploaded by organizations like WHO, Statista, or Harvard.
  • 3. OpenML: An online machine learning platform for sharing and organizing data with more than 21.000 datasets. It’s regularly updated and it automatically versions and analyses each dataset and annotates it with rich meta-data to streamline analysis.

 

Public government Datasets

For machine learning projects concerning social matters, public government datasets are very important. You can find useful datasets in these following sources:

  • 4. EU Open Data Portal: The point of access to public data published by the EU institutions, agencies, and other entities. It contains data related to economics, agriculture, education, employment, climate, finance, science, etc.
  • 5. World Bank: The open data from the World Bank that you can access without registration. It contains data concerning population demographics, macroeconomic data, and key indicators for development. A great source of data to perform data analysis at a large scale.

 

Machine Learning Datasets for finance & economics

The use of machine learning / artificial intelligence for finance & economics has long been very promising with the vast implementation in algorithmic trading, stock market predictions, portfolio management, and fraud detection. The quantity for this is very big thanks to the datasets built over many years. You can find the easily accessible datasets for finance & economics here:

  • 6. Global Financial Development (GFD): An extensive dataset of financial system characteristics for 214 economies around the world. It contains annual data which has been collected since 1960.
  • 7. IMF Data: International Monetary Fund publishes data related to the IMF lending, exchange rates, and other economic and financial indicators.

 

Image datasets for computer vision

Medical imaging, automatic cars/self-driving cars are becoming more popular these days. With the high-quality datasets of training visual data, the application of these technologies will be better than ever. You can find the sources here:

  • 8. Visual Genome: A large and detailed dataset and knowledge base with captioning of over 100.000 images.
  • 9. Google’s Open Images: A collection of over 9 million varied images with rich annotations. It contains image-level label annotations, object bounding boxes, object segmentation, and visual relationships across 6000 categories. This large image database is a great source of data for any data science project.
  • 10. Youtube-8M: A vast dataset of millions of YouTube video IDs with high-quality machine-generated annotations of more than 3,800 visual entities. This dataset comes with pre-computed audio-visual features from billions of frames and audio segments.

Finding the suitable datasets for machine learning / AI is never easy. Besides the 4 categories mentioned above, the datasets can be Natural Language Processing Datasets, Audio Speech and Music Datasets for Machine Learning Projects, Data Visualization Datasets. You can check out other free source of datasets for machine learning with V7’s 65+ Best Free Datasets for Machine Learning.

However, the downside is that those open sources are not credible enough, so if your team accidentally gathers wrong data, your ML project will be affected badly, which reduces the level of accuracy for end-users. Also, collecting the data from unknown sources will cost you a great deal of time as it requires a lot of physical and manual labor.

So, the optimal strategy to get high-quality data for the task of labelling is to outsource to a professional vendor who has profound experience and knowledge providing data collection service to AI-based projects.

For your information, Lotus Quality Assurance is an expert at both data collection and annotation services. The datasets that Lotus Quality Assurance collects, including but not limited to images from reliable sources on the Internet, videos and sound captured and recorded with specific scenes, are provided with best quality and accuracy. 

If you have any difficulties in data collecting or data annotation for your projects, feel free to reach out to us!

Lotus Quality Assurance (LQA)

Tel: (+84) 24-6660-7474
Email: [email protected]
Website: https://www.lotus-qa.com/