The main aim of artificial intelligence in software engineering is to help teams to develop and test their code more efficiently and effectively, to create higher quality software at speed. Software Engineering is having various phases to be followed. The phases are Plan, code, build, test, release, deploy, operate and monitor. By implementing the automated testing patterns, the testing automation will be done for service-based AI systems. Software testing is the process of evaluating the developed system to calculate the quality of the final product or software, but the software testing process is very costly and takes a lot of time through the software development life cycle and manual software testing becomes more and more difficult. Therefore, we just need to decrease the testing time. Recently, smart testing is a major factor in reducing the testing effort using machine learning techniques. This paper aims to compare the main features of different software testing techniques.