Abstract
Although there are a lot of researches on software testing, most of the works are on individual testing approaches. There is no much work on the general understanding/discussion at higher level. Based on a few years’ industrial experience, we reviewed some research fields of software testing, provided discussion on the issues that have emerged but not clearly represented in previous literature, and tried to establish a philosophical viewpoint of understanding software testing. By having listed some characteristics of modern software testing that have been commonly noticed though not fully studied, we pointed out that software testing is intrinsically dynamic and by nature a representative problem of multi-objective optimization. The test cases should be evolved along with the change of software. We also thought coding and testing should accommodate each other and especially coding strategy should be well chosen in favor of easy testing. A few research directions have also been pointed out.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Runeson, P., Andersson, C., Thelin, T., Andrews, A., Berling, T.: What do we know about defect detection methods? [software testing]. IEEE Software 23(3), 82–90 (2006)
Ahamed, S.S.R.: Studying the Feasibility and Importance of Software Testing: An Analysis, arXiv:1001.4193 (January 2010)
Liu, D., Xu, S., Du, W.: Case Study on Incremental Software Development. In: 2011 9th International Conference on Software Engineering Research, Management and Applications (SERA), pp. 227–234 (2011)
Powermock, http://code.google.com/p/powermock/
Itkonen, J., Mantyla, M.V., Lassenius, C.: Defect Detection Efficiency: Test Case Based vs. Exploratory Testing. In: First International Symposium on Empirical Software Engineering and Measurement, ESEM 2007, pp. 61–70 (2007)
Fraser, G., Zeller, A.: Exploiting Common Object Usage in Test Case Generation. In: 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation (ICST), pp. 80–89 (2011)
Rubinov, K., Wuttke, J.: Augmenting test suites automatically. In: 2012 34th International Conference on Software Engineering (ICSE), pp. 1433–1434 (2012)
Namin, A.S., Andrews, J.H.: The influence of size and coverage on test suite effectiveness. In: Proceedings of the Eighteenth International Symposium on Software Testing and Analysis, New York, NY, USA, pp. 57–68 (2009)
Alshahwan, N., Harman, M.: Augmenting test suites effectiveness by increasing output diversity. In: 2012 34th International Conference on Software Engineering (ICSE), pp. 1345–1348 (2012)
Dobolyi, K., Weimer, W.: Modeling consumer-perceived web application fault severities for testing. In: Proceedings of the 19th International Symposium on Software Testing and Analysis, New York, NY, USA, pp. 97–106 (2010)
Hao, D., Zhang, L., Wu, X., Mei, H., Rothermel, G.: On-demand test suite reduction. In: 2012 34th International Conference on Software Engineering (ICSE), pp. 738–748 (2012)
Nistor, A., Luo, Q., Pradel, M., Gross, T.R., Marinov, D.: Ballerina: Automatic generation and clustering of efficient random unit tests for multi-threaded code. In: 2012 34th International Conference on Software Engineering (ICSE), pp. 727–737 (2012)
Greiler, M., van Deursen, A., Storey, M.: Test confessions: A study of testing practices for plug-in systems. In: 2012 34th International Conference on Software Engineering (ICSE), pp. 244–254 (2012)
Zhang, P., Elbaum, S.: Amplifying tests to validate exception handling code. In: 2012 34th International Conference on Software Engineering (ICSE), pp. 595–605 (2012)
Grechanik, M., Fu, C., Xie, Q.: Automatically finding performance problems with feedback-directed learning software testing. In: 2012 34th International Conference on Software Engineering (ICSE), pp. 156–166 (2012)
Fraser, G., Arcuri, A.: Sound empirical evidence in software testing. In: 2012 34th International Conference on Software Engineering (ICSE), pp. 178–188 (2012)
Estefo, P.: Restructuring unit tests with TestSurgeon. In: 2012 34th International Conference on Software Engineering (ICSE), pp. 1632–1634 (2012)
Segall, I., Tzoref-Brill, R.: Interactive refinement of combinatorial test plans. In: 2012 34th International Conference on Software Engineering (ICSE), pp. 1371–1374 (2012)
DeCandia, G., Hastorun, D., Jampani, M., Kakulapati, G., Lakshman, A., Pilchin, A., Sivasubramanian, S., Vosshall, P., Vogels, W.: Dynamo: amazon’s highly available key-value store. SIGOPS Oper. Syst. Rev. 41(6), 205–220 (2007)
Gilbert, S., Lynch, N.: Brewer’s conjecture and the feasibility of consis-tent, available, partition-tolerant web services. SIGACT News 33(2), 51–59 (2002)
The Java HotSpot Performance Engine Architecture
JRebel, zeroturnaround.com, http://zeroturnaround.com/software/jrebel/ (accessed: December 15, 2012)
Benington, H.D.: Production of Large Computer Programs. Annals of the History of Computing 5(4), 350–361 (1983)
Schwaber, K.: Agile Project Management with Scrum, 1st edn. Microsoft Press (2004)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer International Publishing Switzerland
About this paper
Cite this paper
Liu, D., Xu, S., Liu, H. (2013). Observations on Software Testing and Its Optimization. In: Lee, R. (eds) Computer and Information Science. Studies in Computational Intelligence, vol 493. Springer, Heidelberg. https://doi.org/10.1007/978-3-319-00804-2_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-00804-2_3
Publisher Name: Springer, Heidelberg
Print ISBN: 978-3-319-00803-5
Online ISBN: 978-3-319-00804-2
eBook Packages: EngineeringEngineering (R0)