Manual Testing of the LandPKS App for Quality Assurance

Huong Tran is the Quality Assurance Coordinator for LandPKS. She is based in Las Cruces, NM and has been working with the project since Jan 2016. Huong’s primary roles with the project include creating test plans and test scenarios, working with software developers to ensure quality standards, and performing manual tests for various products of LandPKS. She enjoys catching LandPKS bugs before users do and is glad that she can contribute to provide confidence towards software quality.

Scenario testing is done to make sure that the end to end functioning of the LandPKS app and all the process flows are working well. In scenario testing, the tester puts herself in the end user’s shoes and figures out the real world scenarios or use cases which can be performed on the app by the end user. Scenario testing helps testers to explore how the app will work in the hands of an end user. This is very important for catching bugs in the LandPKS app and designing the app with users’ needs in mind.

Even though the main goal of testing is to be able to detect and catch many of the bugs, the automated tools cannot test for visual considerations like gestures, image color or font size. However, the manual testing that Huong does can judge these types of app features. Manual testing can also test the User Experience and User Interface. Any bugs in data connection and/or slope measurement, which are two critical functionalities of the LandPKS app, can also be caught with manual testing

In light of the fact that access to an Internet connection in Africa is still limited, Huong has prioritized her testing efforts and focused on the reliability of the apps in an unstable data connection environment. She has tried to replicate the scenarios that a common end user might face when s/he is in the field collecting data and using the app. Her tests are done to ensure that the GPS is still working well, the app is behaving as expected, and that entered data is saved when there is no network or data connection.


Introducing Thanh: A Longtime LandPKS Team Member

Thanh Nguyen is a PhD candidate in the Computer Science Department at New Mexico State University. Thanh has been working on the LandPKS project for several years now and has taken a critical role in the development of the LandPKS app.  During his time with LandPKS, he has worked on the following:

  1. Developed Data Analytics System and Prediction Model that applied Machine Learning Algorithms to get as much knowledge as possible from the soil profile, weather, and water data to build models for analyzing soil potential.
  2. Developed the LandPKS Database and LandPKS API System that allowed developers and users to interact with and access LandPKS data (LandInfo, LandCover, etc).
  3. Developed Web Data Portal to allow users to have the ability to access and download LandPKS data in Web Browser. In addition, the Data Portal provides tools that analyze and displays the user data.
  4. Developed LandPKS mobile application that allows users to collect and interact with LandPKS data in Android and iOS.
  5. Developed Big-Data processing module using Map-Reduce (Hadoop) to create accessible climate data and soil profiles for all locations in the world

thanh blog

Thanh graduated with his Masters of Computer Science at James Cook University in Australia. His thesis, entitled Data Mining in Internet Banking, is currently being used in a number of Asian banks.  His research interests include Data Mining and Knowledge Discovery (classification, clustering, association rules and prediction models), Artificial Intelligence (knowledge representation and reasoning, planning, logic programming, answer set programming and Web semantics – Services Composition), Machine Learning and Collective Intelligence (recommendation system, discovering groups, searching and ranking, collaborative filtering, document filtering, generative modelling, advanced classification, etc.) and Big-Data processing.  His primary research now focuses on Automation Web Services Composition in Web Semantics. He is developing a completed end-to-end AI system to collect requirements from users in Natural Language and explore workflows that can satisfy the users requirements automatically. After the workflow is achieved, our system is able to execute each Web Service component in workflow sequence in order to achieve the goal.


Introducing Brent and the LandPKS Application Programming Interface (API) System

Brent, an undergraduate student at New Mexico State University, has been working with LandPKS on the API (Application Programming Interface) and an automated build and testing suite. Whenever a change is made to any LandPKS app, the automation suite builds the newest version with the changes that were just made. After building these changes, the suite runs tests on the application that was changed to catch bugs or mistakes that may occur. The suite launch emulators for all the main operating systems and goes through input process. After inputting the data the suite then validates results from LandPKS models and creates tables and stores results in the tables. This system allows changes and bugs to be tested constantly and the results stored for tracking purposes.

The LandPKS API on the backend is a single insertion and retrieval point. This allows anyone to send and receive data from a single point. This API integrates all the insertions and updates the plot areas whenever data is received. The API also integrates our models into the data as it received. The API allows all this multidirectional data flow to be unnoticeable and easily manipulated to the end user. The API also allows anyone to use our data in other applications with simple http requests. When a request for a site is received, the API retrieves all the relevant data and returns the results via the same query. Integrated into the LandPKS API is “API Explorer” which allows anyone to become acquainted with the “API” by showing the types of requests that can be passed as well as the responses received.

Brent Barnett is a dual undergrad student in the Chemical Engineering Department and the Computer Science Department at New Mexico State University. He is a transfer student from Austin, Texas. He has worked with automation and database engineering for six years. Prior to joining Jornada he worked for Versasuite and IBM as a software and database engineer respectively. His primary roles are build/test automation and LPKS API development. His interests include database development, prediction algorithms, process design and automation.

query images_1

Brent Barnett – API Data Manager

Land-Potential and Soil Texture

The knowledge engine of LandPKS supports land use planning, land restoration, future agricultural scenarios, climate change adaption, and conservation programs. However, a critical first step in using our integrated suite of smartphone applications includes the evaluation of soil and vegetation properties. As soil serves as the media for growth for all kinds of plants, identification of soil properties is vital for land managers, policy makers, and researchers in order for them to assess land potential.


Soil texture is considered one of the soil’s most important properties, influencing nearly all soil processes and functions. Soil texture is defined by the relative fractions of sand, silt, and clay-sized particles in a soil sample. Soil is often divided into 12 soil texture classes, allowing for communication of soil type amongst land resource specialists. Each particle type has benefits to plant growth, yet sometimes can be unfavorable when only one soil class (all sand, for example) makes up the majority of the soil sample. For example, clay holds water well and is usually fertile. However, clays swell when they get wet (limiting the water available to plant roots), and harden when dry (becoming difficult to manage). Deep sands drain easily and do not hold water effectively. Silt-sized grains retain water and nutrients, but can easily become water-logged and prevent movement of water, air, and roots throughout the soil profile. While most soil types can be managed, often Loam is considered the most desirable for plant growth because Loam contains equal parts of sand, silt, and clay. Different particle sizes allow for air, water, and roots to easily move through the soil, with Loam having enough sand to drain well, yet also enough clay and silt to hold onto water and nutrients.


The LandInfo module of LandPKS walks users through estimation of texture by probing and working the soil. Users are asked to take a sample and test it for grittiness (sand), smoothness (silt), and stickiness (clay). Currently, the LandInfo module streamlines steps from a soil texture-by-feel flow chart which tests the relative fraction of sand, silt, and clay. However, through feedback from our trainings we have learned that often the user questions accuracy of their own texture-by-feel estimates. Our next steps to help address this issue include: (1) evaluating the accuracy of these texture-by-feel estimates, and (2) improving our decision support tools to allow users additional manipulative tests shown to differentiate between texture classes. Look for the results of these steps in the near future!