Hardware Reference
In-Depth Information
products of Test Driven Development (TDD) [13]. TDD visibly links executable
unit tests to the overall development process. TDD is widely practised and has
many reported benefits [14] but successful use does rely on tools such as JUnit
[15]. ATDD adds to this established test-first philosophy with acceptance testing
of an automated and executable nature. In keeping with agile principles, ideally
customers write acceptance tests guided by developers. Its practice “allows soft-
ware development to be driven by the requirements” [16]. A key advantage of
ATDD in its wider context is that it leverages existing agile infrastructure sup-
porting continuous integration. As with TDD, support from tools makes ATDD
feasible. However, Andrea [17] claims that existing tools exhibit several deficien-
cies and produce tests that are “hard to write and maintain”. To overcome this
Andrea also suggests that the next generation of functional testing tools need
to support writing (and reading) functional tests in multiple formats. Given the
widespread adoption of information and communication technology, in many
organisations business rules are documented in numerous formats, for example,
including Medical Devices . However, ATDD is currently not well supported with
tools that enable reusing such existing documents, without rewrites, to create
executable tests. A challenge, therefore, is to support a suitably informed ex-
pert to perform the agile customer role and in easily creating tests from existing
material. However, successful identification of accurate acceptance tests in this
manner is not necessarily straightforward.
2
Importance of “Well Tested” Medical Device Software
The risk of patient injury from software defects is a concern due to the man-
ufacture and deployment of increasing numbers of software-embedded medical
devices [18] - [20]. There have been a number of major medical device product
recalls over this past 25 years that were the result of software defects [21]. Highly
traceable testing and change control procedures within medical device software
development is important as such modifications can occur frequently and may
occur at different levels (e.g. design, interface or code), therefore increasing the
risk of software failure [21]. It is therefore important that a medical device com-
pany has an ecient software development process in place that include change
control practices. According to the Institute of Medicine report “To Err is Hu-
man” [22], between 44000 to 98000 people die in hospital from preventative
medical errors. The report also says that more people die every year as a re-
sult of medical errors than from motor vehicle accidents, breast cancer or AIDS.
Like most industries, the medical device industry depends on computer tech-
nology to perform many of the functions ranging from financial management
to patient treatment [23]. The use of software in medical devices has become
widespread in the last two decades. Medical devices with software include those
that are supplied and used entirely in hospitals and other health facilities, as
well as consumer items such as blood pressure monitors. Many medical devices,
and their software, operate in real time - monitoring, diagnosing, or controlling
Search WWH ::




Custom Search