The key component of any successful automated testing process is test automation frameworks. Reduced maintenance costs, testing efforts and a higher return on investment (ROI) for QA teams are just some of the key benefits the offer while optimizing Agile processes. Executives in the software development domain have fostered an extensive understanding of how implementing an automation framework benefits their business and many in this space have started using the term "framework" quite often, knowing how it can become key to the success of software automation project. But still, to many, the question remains – what exactly is a test automation framework and automation script? How does it work and what advantages can the framework bring to the testing process?
Test automation frameworks based on Python continues to become popular – just like the programming language. However, the test automation frameworks from different developers vary in terms of features, performance, supported platforms, support, efficiency and more. In its simplest form, a framework is a set of tools, libraries, best practices, and some assumptions that various teams rely on when testing software. In most cases, the testing needs may vary according to the app and the environment. As such, when looking for a test automation framework, the software developers and testing teams need to consider a wide range of factors.
Artificial Intelligence and Machine Learning, fondly known as AI & ML respectively, are the hottest buzzwords in the Software Industry today. The Testing community, Service-organisations, and Testing Product / Tools companies have also leaped on this bandwagon. While some interesting work is happening in the Software Testing space, there does seem to be a lot of hype as well. It is unfortunately not very easy to figure out the core interesting work / research / solutions from the fluff around. See my blog post - "ODSC - Data Science, AI, ML - Hype, or Reality?" as a reference.
Nornir, an automation framework that uses Python directly, provides an alternative to other automation frameworks that use their own domain-specific language (DSL). The framework can dispatch tasks to devices and nodes, deal with inventory when the user has host information, and support the writing of plugins. For troubleshooting, users can use existing debug tools directly from Python. Cisco systems engineer Dmitry Figol, a Nornir contributor, says Nornir is more flexible than Red Hat's Ansible, an IT automation language that uses YAML running on top of Python. Nornir can run as a standalone script and print results to the console.
From a developer's standpoint, deep learning is usually a hands-on exercise conducted within a particular modeling framework. Typically, a developer has needed to adapt their own manual coding style to interfaces provided by a specific framework, such as TensorFlow, Apache MXNet, Microsoft Cognitive Toolkit (CNTK), Caffe, Caffe2, Torch and Keras.