Outreachy- Project Description

Outreachy- Project Description

About ODK-X

ODK-X is a Free and Open Source Software (FOSS) that has the functionality to develop customized data management applications for collecting, managing, and using data in resource-constrained environments.

We can render a fully customizable user interface(UI) on an Android device to gather, manage and visualize data, consisting of different types of survey forms as well as Javascript-based apps both offline and online.

Project Description

Services is one of the ODK-X Tool Suite that allows user authentication and data synchronization between the ODK-X applications. It handles database access, file access, and data-synchronization services and allows you to sync data collected by the ODK-X tools with an ODK-X Cloud Endpoint.

My project aims on creating Android Tests for Services New User Interface.

  • I’ll be writing E2E test suites for the application’s UI to ensure the correctness of UI components and the UX behavior, as expected by the end-user.
  • Write Integration test suites for the various business logic in the ViewModels.
  • Write Unit tests for various utility classes.
  • Aim to maximize test coverage.

Skills Required : Java, Android, and Software Testing Knowledge.

Importance Of Software Testing

While working on a big project, For example: adding new functionality or fixing a bug, old things may break and new features may have some bugs. That could lead to vulnerabilities and instability in the code. To ensure that the development of an application does not get hindered. Hence, It is important to write automated tests to ensure the software created by developers is fit for its purpose.

How It's helping the community?

Testing is important because software bugs could be expensive or even dangerous. Software bugs can potentially cause monetary and other losses to the community. Since the Services app is used in resource-constrained environments and manages data for economical uses like in agriculture, bee farming, Medical or Household Surveys, etc. So, It's important to ensure the app is working efficiently in data management and its synchronization across the applications without any bugs.

UI/UX Testing ensures the best user experience and whether the visual elements are working and displayed correctly. So that the community can properly use all the functionality of the application and can visualize the data without any errors. Minor problems, such as a missing button or a typo, could cause issues in the overall scheme of things. For example, a missing button or an empty page might prevent users from logging into an application.

Conclusion

I'm really excited 😄🎊 to complete this project as it'll help the ODK-X community on a large scale and I've learned so many new things about software development and testing in these five weeks of my Internship with the help of my mentors and the community. It has been an amazing journey💖 and I'm looking forward to more learning and opportunities to work with ODK-X.