Cargando…

Hypermedia-based software architecture enables Test-Driven Development

OBJECTIVES: Using agile software development practices, develop and evaluate an architecture and implementation for reliable and user-friendly self-service management of bioinformatic data stored in the cloud. MATERIALS AND METHODS: Comprehensive Oncology Research Environment (CORE) Browser is a new...

Descripción completa

Detalles Bibliográficos
Autores principales: Post, Andrew R, Ho, Nancy, Rasmussen, Erik, Post, Ivan, Cho, Aika, Hofer, John, Maness, Arthur T, Parnell, Timothy, Nix, David A
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Oxford University Press 2023
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10582517/
https://www.ncbi.nlm.nih.gov/pubmed/37860604
http://dx.doi.org/10.1093/jamiaopen/ooad089
_version_ 1785122349603880960
author Post, Andrew R
Ho, Nancy
Rasmussen, Erik
Post, Ivan
Cho, Aika
Hofer, John
Maness, Arthur T
Parnell, Timothy
Nix, David A
author_facet Post, Andrew R
Ho, Nancy
Rasmussen, Erik
Post, Ivan
Cho, Aika
Hofer, John
Maness, Arthur T
Parnell, Timothy
Nix, David A
author_sort Post, Andrew R
collection PubMed
description OBJECTIVES: Using agile software development practices, develop and evaluate an architecture and implementation for reliable and user-friendly self-service management of bioinformatic data stored in the cloud. MATERIALS AND METHODS: Comprehensive Oncology Research Environment (CORE) Browser is a new open-source web application for cancer researchers to manage sequencing data organized in a flexible format in Amazon Simple Storage Service (S3) buckets. It has a microservices- and hypermedia-based architecture, which we integrated with Test-Driven Development (TDD), the iterative writing of computable specifications for how software should work prior to development. Relying on repeating patterns found in hypermedia-based architectures, we hypothesized that hypermedia would permit developing test “templates” that can be parameterized and executed for each microservice, maximizing code coverage while minimizing effort. RESULTS: After one-and-a-half years of development, the CORE Browser backend had 121 test templates and 875 custom tests that were parameterized and executed 3031 times, providing 78% code coverage. DISCUSSION: Architecting to permit test reuse through a hypermedia approach was a key success factor for our testing efforts. CORE Browser’s application of hypermedia and TDD illustrates one way to integrate software engineering methods into data-intensive networked applications. Separating bioinformatic data management from analysis distinguishes this platform from others in bioinformatics and may provide stable data management while permitting analysis methods to advance more rapidly. CONCLUSION: Software engineering practices are underutilized in informatics. Similar informatics projects will more likely succeed through application of good architecture and automated testing. Our approach is broadly applicable to data management tools involving cloud data storage.
format Online
Article
Text
id pubmed-10582517
institution National Center for Biotechnology Information
language English
publishDate 2023
publisher Oxford University Press
record_format MEDLINE/PubMed
spelling pubmed-105825172023-10-19 Hypermedia-based software architecture enables Test-Driven Development Post, Andrew R Ho, Nancy Rasmussen, Erik Post, Ivan Cho, Aika Hofer, John Maness, Arthur T Parnell, Timothy Nix, David A JAMIA Open Research and Applications OBJECTIVES: Using agile software development practices, develop and evaluate an architecture and implementation for reliable and user-friendly self-service management of bioinformatic data stored in the cloud. MATERIALS AND METHODS: Comprehensive Oncology Research Environment (CORE) Browser is a new open-source web application for cancer researchers to manage sequencing data organized in a flexible format in Amazon Simple Storage Service (S3) buckets. It has a microservices- and hypermedia-based architecture, which we integrated with Test-Driven Development (TDD), the iterative writing of computable specifications for how software should work prior to development. Relying on repeating patterns found in hypermedia-based architectures, we hypothesized that hypermedia would permit developing test “templates” that can be parameterized and executed for each microservice, maximizing code coverage while minimizing effort. RESULTS: After one-and-a-half years of development, the CORE Browser backend had 121 test templates and 875 custom tests that were parameterized and executed 3031 times, providing 78% code coverage. DISCUSSION: Architecting to permit test reuse through a hypermedia approach was a key success factor for our testing efforts. CORE Browser’s application of hypermedia and TDD illustrates one way to integrate software engineering methods into data-intensive networked applications. Separating bioinformatic data management from analysis distinguishes this platform from others in bioinformatics and may provide stable data management while permitting analysis methods to advance more rapidly. CONCLUSION: Software engineering practices are underutilized in informatics. Similar informatics projects will more likely succeed through application of good architecture and automated testing. Our approach is broadly applicable to data management tools involving cloud data storage. Oxford University Press 2023-10-17 /pmc/articles/PMC10582517/ /pubmed/37860604 http://dx.doi.org/10.1093/jamiaopen/ooad089 Text en © The Author(s) 2023. Published by Oxford University Press on behalf of the American Medical Informatics Association. https://creativecommons.org/licenses/by/4.0/This is an Open Access article distributed under the terms of the Creative Commons Attribution License (https://creativecommons.org/licenses/by/4.0/), which permits unrestricted reuse, distribution, and reproduction in any medium, provided the original work is properly cited.
spellingShingle Research and Applications
Post, Andrew R
Ho, Nancy
Rasmussen, Erik
Post, Ivan
Cho, Aika
Hofer, John
Maness, Arthur T
Parnell, Timothy
Nix, David A
Hypermedia-based software architecture enables Test-Driven Development
title Hypermedia-based software architecture enables Test-Driven Development
title_full Hypermedia-based software architecture enables Test-Driven Development
title_fullStr Hypermedia-based software architecture enables Test-Driven Development
title_full_unstemmed Hypermedia-based software architecture enables Test-Driven Development
title_short Hypermedia-based software architecture enables Test-Driven Development
title_sort hypermedia-based software architecture enables test-driven development
topic Research and Applications
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10582517/
https://www.ncbi.nlm.nih.gov/pubmed/37860604
http://dx.doi.org/10.1093/jamiaopen/ooad089
work_keys_str_mv AT postandrewr hypermediabasedsoftwarearchitectureenablestestdrivendevelopment
AT honancy hypermediabasedsoftwarearchitectureenablestestdrivendevelopment
AT rasmussenerik hypermediabasedsoftwarearchitectureenablestestdrivendevelopment
AT postivan hypermediabasedsoftwarearchitectureenablestestdrivendevelopment
AT choaika hypermediabasedsoftwarearchitectureenablestestdrivendevelopment
AT hoferjohn hypermediabasedsoftwarearchitectureenablestestdrivendevelopment
AT manessarthurt hypermediabasedsoftwarearchitectureenablestestdrivendevelopment
AT parnelltimothy hypermediabasedsoftwarearchitectureenablestestdrivendevelopment
AT nixdavida hypermediabasedsoftwarearchitectureenablestestdrivendevelopment