TAKE NOTE (Insights and Emerging Technology)
Over the years, we have seen the federal IT landscape evolve, and this year will be no different. In 2019, we will continue to see federal agencies move full speed ahead with technology that will allow government to enhance citizen experiences and prepare for emerging technology.
Six key technology trends will emerge in the federal space in 2019.
1. Investing in strong networks: Reliable, secure, high-capacity networks will remain a priority for agencies this year. CIOs recognize how dependent application performance is on the network.
2. Leveraging disruptive technologies: Agencies will make sure they are positioned to leverage disruptive technologies like 5G, artificial intelligence, machine learning, augmented and virtual reality, robotics and automation.
3. Refocusing on customer experience: Citizens increasingly demand better experiences as they interact with public and private entities alike, and the administration has set a goal to improve the customer experience provided by the federal government. In order to meet this goal, agencies will leverage data and AI to better engage with constituents and provide better services. Further, with AI infiltrating customer experience, there’s a greater opportunity to put citizens at the center by personalizing the experience.
4. Redoubling security efforts: Data breaches continue to plague the private and public sectors. In 2019, security will remain a focus, and federal CIOs will redouble their security efforts, adopting network-level security measures.
5. Putting privacy front and center: The federal government is in the unique position of handling millions of pieces of sensitive data — from the personal information of an estimated 2 million federal employees to citizens’ tax information to health records of military and veterans. Individuals are now more aware than ever of privacy and how their data is used, which means that in 2019, federal agencies will make data privacy and protection a priority for their security plans.
6. Embracing software-defined networking: In 2018, we saw SDN begin to transform business opportunities around the world. In 2019, federal CIOs will further embrace SDN and leverage the many options that it enables, including increased agility and flexibility to meet individualized needs in a secure environment.
Federal government, and the public sector as a whole, is moving toward modernization. As federal CIOs continue to balance the workings of government and the business needs of their respective agencies with the requirements of citizens, they will determine the best way to leverage these technology trends and opportunities. In 2019, there will be an increased reliance on industry for managed services, and agencies will move toward buying technology as a service, rather than owning the technology.
Interested in learning more about RPA? Download our FREE White Paper on “Embracing the Future of Work”
UNDER DEVELOPMENT (Insights for Developers)
An Introduction to ABAP Unit – Part 1
Using ABAP UNIT – The Turning Point
On my current project, automated testing and code coverage are the latest buzz words. One of the tools that was demonstrated was ABAP Unit. I will admit that my initial thoughts on its use was that it was more work to my already busy day. In addition, a lot of my work is fixing or changing existing code, and a lot of it is rather old and has been patched by so many developers over the years it takes several ‘page down’ clicks to find actual code and I was not sure how ABAP Unit or ABAP Unit Test could even be incorporated into this code.
Then a fortunate series of events took place and I was given the opportunity to rewrite one of these older programs, and I thought, now is the time to learn and use ABAP Unit tests.
There are some great blogs, demos and courses regarding ABAP Unit Test, automated testing, and TDD (Test Driven Development), and I wanted to share what I have learned and used so far.
Why And How To Use ABAP UNIT
One of the goals of SAP ABAP Unit test is to get as much code tested and code coverage as possible. In some of the older programs with various fixes and changes, you might find that when you are creating your test, to get as close to 100 percent code coverage as possible, you come across code that will never be called or dead code. It can be as simple as someone adding a condition to an ‘if’ statement and you find that one of the cases inside the statement can never be met.
I follow the unit testing Best Practice of breaking out the requirements into their simplest form. For example, I separate validations into their own methods, database actions into their own and so forth. This way I can create my test based on that step or the requirement and then create the productive code. Below I have created a simple class and a couple of methods. One method will determine the discount based upon a quantity and another will determine the value with the applied discount.
With this simple code I can then select the ‘Test Classes’ tab in Eclipse, or from the GUI using SE24 or SE80, I can use the wizard to generate a test class as well.
Writing Testable Code for ABAP
Q&A (Post your questions and get the answers you need)
Q. What is Test Driven Development look like in SAP?
A. An advanced technique for developing unit tests involves writing a test before any new functionality or improvement is crafted. This software design technique is known as test-driven development (TDD) and allows for a unit test to “drive” development in small increments.
TDD requires a developer to first write a failing unit test targeting a specific outcome in an automated testing environment such as ABAP Unit. When the test is complete the developer proceeds to write the minimal amount of code to make that unit test pass. This process of red (writing a small failing test) to green (writing the minimal functional code to make the test pass) to refactor (improve the design of the code while making sure that all tests continue to pass) is repeated over and over again until a new piece of functionality is complete. (see below)
Although the full-blown use of TDD (and indeed the extreme programming methodology from which it came) may be too controversial for your particular development team, the value of quality automated unit tests cannot be underestimated.
With unit tests, you can apply the changes and know immediately whether or not you broke something in the system without having to conduct a full-scale regression test.