{'fraction_non_alphanumeric': 0.035759096612296114, 'fraction_numerical': 0.0, 'mean_word_length': 5.182170542635659, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
On Testing Object-Oriented Programs

The object-oriented paradigm is a new technology for producing software. This new technology has many benefits for parts of the entire software development cycle (analysis, design and implementation phases) : the object-oriented development process is iterative, the object-oriented paradigm emphasize reuse, the items of interest are always the objects, ... Thus, engineers and managers want to use this technology in their own field. But, for critical systems, which need a certification, the testing process is an important task. Then, the testing techniques for object-oriented programs should be studied even though some people can think the object-oriented paradigm seams to be the panacea. By applying usual testing techniques (i.e. those for procedural programs) for object-oriented programs one found two major problems. First, procedural testing techniques are not well-suited for object-oriented ones : there is an intrinsic difference between the procedural and the object-oriented approach (structure vs. behaviour). Second, the new useful features introduced (such as encapsulation, inheritance, or polymorphism) imply new problems for the testing process : problems of observability, for example. Then we are interested in studying these new mechanisms with the tester viewpoint in mind through three major questions. What are the new problems raised? How usual solutions for the testing process can be applied (or extended) or do we have to find new ones? and, How objectorientedness (the new mechanisms) can help us for the testing process?