Data generators: a short survey of techniques and use cases with focus on testing The process of data generation plays a significant role in various areas of computer science. Software testing is probably the seminal example for usage of artificially created data. An appropriate data generator is suitable and necessary for almost every type of testing (including automated): the regression tests, null value tests, coverage, security and performance test. With the rise of data science, the data generation is as well used in machine learning, data mining, and data visualization. Other industries such as financial and healthcare have great benefits from artificial data as well. Important aspect of the generated data is that the data needs to be realistic but not real, which embrace the confidentiality and privacy. In this paper, we give a short survey on the different types of generators from the architecture point of view and their intended usage, as well as we list their pros and cons. Finally, we give an overview of the used data generation algorithms and the best practices in different areas.

Test Case Generation Based on ClientServer of Web Applications by Memetic Algorithm Currently, more than 90% web applications are potentially vulnerable to attacks from both the client side and server side. Test case generation plays a crucial role in testing web applications, where most existing studies focus on test case generation either from clientside or from serverside to detect vulnerabilities, regardless of the interactions between client and server. Consequently, it is difficult for those test cases to discover certain faults which involve both client and server. In this paper, the serverside sensitive paths are considered as vulnerable code paths due to insufficient or erroneous filtering mechanisms. An evolutionary testing approach based on the memetic algorithm is proposed to connect the serverside and clientside, in which test cases are generated from the clientside behavior model, while guided by the coverage of sensitive paths from serverside. The experiments are conducted on four open source web applications, and the results demonstrate that our approach can generate test cases from the clientside behavior model that can cover the serverside sensitive paths, on which the vulnerabilities can be detected more effectively.