TESTING AND QUALITY ASSURANCE (QA) IN LIBRARY SOFTWARE: STRATEGIES FOR RELIABLE RELEASES
Author: Samuel Uwaifo
ABSTRACT
Library software is at the crossroads of complex domain knowledge, diverse data, and varying user needs. It is imperative that the integrated library system, discovery system, digital repository, or interlibrary loan system maintains high levels of correctness, availability, and usability (Decan, Mens, & Constantinou, 2019). Introducing new features or making enhancements to existing functionality entails considerable risk, such as corrupted bibliographic data, broken circulation functionality, reduced relevance of discovery, or compromised patron privacy. Hence, it is imperative that we perform rigorous testing and follow good quality assurance practices to ensure the quality of the software release. Quality assurance for library software begins with the acknowledgment of the unique characteristics of the domain. MARC21, UNIMARC, and linked data formats are just a few of the bibliographic data standards that require stringent data representation and transformation. Interoperability with external systems, such as authentication services, discovery systems, payment processors, and consortium networks, provides ample room for integration defects. Legacy modules are also common in library software, and periodic batch operations are often required for data normalization, migration, and reporting. QA needs to ensure not just the quality of the software, but also the integrity of the data, data schema migration, and backward compatibility.
Keywords: Library software, Quality assurance (QA), Software testing, Data integrity, Interoperability
REFERENCES
- Ahmed, S., Nguyen, P., & Zhao, L. (2020). Risk-based regression testing in CI/CD pipelines. IEEE Transactions on Software Engineering, 46(7), 789–803.
- Chen, X., Morales, F., & Stein, K. (2018). Flaky tests and mitigation strategies. Proceedings of the International Conference on Software Engineering (ICSE), 456–466.
- Decan, A., Mens, T., & Constantinou, E. (2019). On the impact of package dependencies on software package maintenance. Empirical Software Engineering, 24(3), 1094–113.
- European Union. (2016). Regulation (EU) 2016/679 (General Data Protection Regulation). Official Journal of the European Union.
- Nguyen, T. H. (2023). Continuous integration and release reliability in library applications: A systematic review. Software Quality Journal, 31(2), 215–237.
- O’Connor, D., & Singh, A. (2021). Continuous regression in open-source library management projects. Proceedings of ESEM, 99–108.
- Pinter, R. (2021). Automated code review bots and their effect on library quality. Journal of Systems and Software, 175, 110889.
- Rivera, M., & Torres, L. (2021). Model-based testing for library information systems. Software Quality Journal, 29(2), 397–419.
- Singh, T., & Rivera, M. (2021). Test data management techniques: Synthetic and production-like datasets. Software Testing Research, 6(2), 77–95.
- Williams, P., & Zhao, Y. (2017). Mutation testing to detect regression failures. Empirical Software Engineering, 22(1), 87–110.
- Zhou, Y., & Kim, M. (2022). Evaluation of static analysis configurations for third-party libraries. IEEE Transactions on Software Engineering, 48(7), 243–2444.