2008 International Conference on Software Testing, Verification, and Validation 2008
DOI: 10.1109/icst.2008.13
|View full text |Cite
|
Sign up to set email alerts
|

Distributed In Vivo Testing of Software Applications

Abstract: The in vivo software testing approach focuses on testing live applications by executing unit tests throughout the lifecycle, including after deployment. The motivation is that the "known state" approach of traditional unit testing is unrealistic; deployed applications rarely operate under such conditions, and it may be more informative to perform the testing in live environments. One of the limitations of this approach is the high performance cost it incurs, as the unit tests are executed in parallel with the … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
22
0

Year Published

2009
2009
2020
2020

Publication Types

Select...
6
2

Relationship

3
5

Authors

Journals

citations
Cited by 24 publications
(22 citation statements)
references
References 9 publications
0
22
0
Order By: Relevance
“…Porting CrystalBall to detect process races is difficult because it works only with programs written in a special language, and it does checking while the deployed system is running, relying on network delay to hide the checking overhead. In-vivo testing [8] uses live program states, but it focuses on unit testing and lacks concurrency support.…”
Section: Related Workmentioning
confidence: 99%
“…Porting CrystalBall to detect process races is difficult because it works only with programs written in a special language, and it does checking while the deployed system is running, relying on network delay to hide the checking overhead. In-vivo testing [8] uses live program states, but it focuses on unit testing and lacks concurrency support.…”
Section: Related Workmentioning
confidence: 99%
“…In vivo testing has been introduced to perform software testing not only at the testing stage of the software development cycle, but also in the software deployment stage when the program is being executed in its operational environment (Chu et al 2008;Murphy et al 2009b). Since not all faults can be revealed using test cases in the software development stage, concurrent software testing on user input data while the software instance is running on the users' machines is an effective solution to detect more hidden faults.…”
Section: In Vivo Testing: Continuous Software Testing In An Operationmentioning
confidence: 99%
“…Developers analyze the logs off-line to detect any bugs. ForkIV can also run tests over a set of deployed instances of the application [5] in order to either decrease the number of tests run per deployed instance of an application or increase the total number of tests run on an application.…”
Section: In Vivomentioning
confidence: 99%
“…Currently, providing functional transparency for online tests could incur significant overheads [5,39], since systems rely on application memory snapshotting via process forking. Our results (Section III(A)) confirm that using fork() for online testing can reduce an apache web server's maximum throughput by as much as 40%.…”
Section: Introductionmentioning
confidence: 99%