
mutation operators insert hard-to-kill changes which
require more specific test cases.
7 CONCLUSIONS
In this work, eight new mutation operators for the
TypeScript files of Angular web applications were in-
troduced. Towards that goal, typical mistakes made
by programmers when developing Angular web ap-
plications were identified, and, based on them, new
mutation operators were designed that simulate such
mistakes. The mutation operators were implemented
to allow applying them to Angular web applications in
practice. Finally, the results were demonstrated and
evaluated to allow assessing whether the new muta-
tion operators provide additional benefits compared
to the existing, traditional mutation operators.
The promising results of the evaluation show that
the new mutation operators can contribute to practice
by allowing Angular developers to better evaluate the
quality of their test suites. Practitioners can apply the
new mutation operators to their Angular web applica-
tions and can use the mutation testing results as guide-
lines to assess the current quality of the test suites and
to improve it so that both current and future mistakes
in the application code are more likely to be identi-
fied. When using the new mutation operators instead
of the traditional mutation operators, they can addi-
tionally contribute to reducing the execution time and
human effort associated with mutation testing.
Threats to validity consist of the evaluation of the
mutation operators on a single web application and
by consulting only the main developer. To confirm
the generalizability of the findings, as part of future
work, the new mutation operators should be tried out
on more Angular applications and more stakeholders
should be interviewed to gain their insights on the po-
tential benefits and drawbacks. Similarly, a threat to
validity is that the interviews used to identifying com-
mon mistakes might be biased based on personal ex-
periences and having a similar background. As part of
future work, more interviews with developers of vari-
ous levels of experience might be conducted and more
mutation operators could be added that simulate the
newly identified common mistakes. Another possibil-
ity for future work would be to apply the approach
of this work to other domains or frameworks. All in
all, it becomes clear that the promising results of this
work open up a lot of areas of future work, illustrat-
ing the high research potential of mutation operators
simulating realistic mistakes in the field of mutation
testing.
REFERENCES
Harman, M., Jia, Y., and Langdon, W. B. (2010). A man-
ifesto for higher order mutation testing. In 2010
Third International Conference on Software Testing,
Verification, and Validation Workshops, pages 80–89.
IEEE.
Info Support (2023). Stryker mutator: Supported mutators.
Jansen, N. (2020). Stryker mutator: Announcing stryker 4.0
- mutation switching.
Jia, Y. and Harman, M. (2009). Higher order muta-
tion testing. Information and Software Technology,
51(10):1379–1393.
Jia, Y. and Harman, M. (2011). An analysis and survey of
the development of mutation testing. IEEE Transac-
tions on Software Engineering, 37(5):649–678.
Lesh, B., Driscoll, D., Wortmann, J.-N., Jamieson, N., Tay-
lor, P., and Lee, T. (2022). Observable.
Lesh, B., Driscoll, D., Wortmann, J.-N., Jamieson, N., Tay-
lor, P., and Lee, T. (2023). Rxjs operators.
Malcher, F., Koppenhagen, D., and Hoppe, J. (2023). An-
gular: Das große Praxisbuch - Grundlagen, fort-
geschrittene Themen und Best Practices. ix Edition.
dpunkt Verlag, Heidelberg, 4.,
¨
uberarbeitete und aktu-
alisierte auflage edition.
Marchetto, A., Ricca, F., and Tonella, P. (2009). An em-
pirical validation of a web fault taxonomy and its us-
age for web testing. Journal of Web Engineering,
8(4):316–345.
Mike Papadakis, Marinos Kintis, Jie Zhang, Yue Jia, Yves
Le Traon, and Mark Harman (2019). Chapter six -
mutation testing advances: An analysis and survey. In
Atif M. Memon, editor, Advances in Computers, vol-
ume 112, pages 275–378. Elsevier.
Mozilla (2023). Mdn web docs: Equality comparisons and
sameness.
Ocariza, F., Bajaj, K., Pattabiraman, K., and Mesbah, A.
(2013). An empirical study of client-side javascript
bugs. In 2013 ACM / IEEE International Sympo-
sium on Empirical Software Engineering and Mea-
surement, pages 55–64. IEEE.
Offutt, A. J. and Untch, R. H. (2001). Mutation 2000: Unit-
ing the orthogonal. In Wong, W. E., editor, Mutation
Testing for the New Century, pages 34–44. Springer
US, Boston, MA.
Petrovi
´
c, G. and Ivankovi
´
c, M. (2018). State of mutation
testing at google. In Paulisch, F. and Bosch, J., editors,
Proceedings of the 40th International Conference on
Software Engineering: Software Engineering in Prac-
tice, pages 163–171, New York, NY, USA. ACM.
S
´
anchez, A. B., Delgado-P
´
erez, P., Medina-Bulo, I., and Se-
gura, S. (2022). Mutation testing in the wild: findings
from github. Empirical Software Engineering, 27(6).
vom Brocke, J., Simons, A., Niehaves, B., Niehaves, B.,
Reimer, K., Plattfaut, R., and Cleven, A. (2009). Re-
constructing the giant: On the importance of rigour in
documenting the literature search process. In Newell,
S., Whitley, E., Pouloudi, N., Wareham, J., and Mathi-
assen, L., editors, Information systems in a globalising
world, volume 161, Verona.
Mutation Operators for Mutation Testing of Angular Web Applications
397