Archive for January, 2018

Software Testing 101: 8 Practices Successful App Testers Embrace

January 29th, 2018

Millions of people use mobile and desktop apps every day–usually without thinking about the behind-the-scenes work that went into creating them. And though users certainly notice when a bug makes it through and negatively impacts their experience, not many people stop to think about how nice it is when an app isn’t buggy.

pexels.com

Habits of successful software testers

The unsung heroes who work to make sure you don’t ever think about them: app testers. They’re the people who put an app through various challenges before it’s released, in order to identify potential vulnerabilities or features that don’t work properly.

Interested in becoming an app tester? Here are a few tips for doing it successfully.

  1. Keep user experience at front-of-mind.

The best testers think like users, envisioning all possible scenarios that could occur. What will potential users want from the app? How will they use it? Will anything confuse them? Is there anything they could do that would “break” the app? Answering these questions first is important for a successful app test.

Ragu Masilamany, Vice President of Network Virtualization at Amdocs, notes that this isn’t always easy. “Imagining the user’s experience is especially challenging when developing new types of products that do not have established usage patterns or a defined user population,” he says. However, he continues, “Those who aspire to be software testers need to be able to imagine how the product will be used and the perceived user experience.”

  1. Design your tests to fail.

In school, nobody wants to take a test they’re meant to fail. App testing is a whole different story. The harder the test is to pass, the more effective it will be at rooting out weaknesses.

Leo Laskin, senior solutions architect at Sauce Labs, says, “Don’t get upset or lose excitement when something you’ve been coding for a while does not work. In fact, design tests to fail. This will help ensure you’ve attempted to eliminate all bugs and problems when your product is released.”

Titus Fortner, fellow senior solutions architect at Sauce Labs, says to design the test in such a way that it imparts useful information whatever the outcome: “Make sure that any test written gives valuable information both when it passes and when it fails.”

  1. Keep tests small but more frequent.

There’s no need to create long, complicated tests. Smaller tests can be just as effective, and they make it easier to actually test while the app is still being developed (and adjust accordingly) rather than waiting for it to be done. Laskin says, “Keep tests small. After you’ve written code, it means time to test. Don’t think you have to run a large elaborate test every time. Keeping tests small allows a quick turn around and gives you more time to focus on creating code.”

  1. Automate testing when possible.

If frequent app testing is required at a company, automation can save a lot of time and work. Many teams are already adopting this process. “Recent software development practices are adopting a high degree of automation, using robots to test software products,” explains Masilamany. “As a result, software testers not only need to identify ‘sunny day’ and ‘rainy day’ scenarios to test; they also need to develop the software that automates these test scenarios so that the product can be tested by machines many, many times during the development and quality assurance phases for the best results.”

Laskin agrees with the benefits of automation: “Today, automated testing can provide speed and efficiency and test a variety of scenarios quickly. The ease of automated testing also means that beginner developers can learn to execute and master tests without expert knowledge.”

A few of Laskin’s tips for successful automatic tests: “When writing automated tests, keep them small so that they run quickly–you want to be able to provide results to your teams as fast as possible. Align with your developers and confirm they’re on board with writing code that is optimized for automated testing.”

However, Fortner notes that not every test can (or should) be automated. “Be judicious in what and how you decide to automate,” he says. “Automated tests should be short, focused and repeatable.”

  1. Involve the team.

Sometimes the developers are also the app testers, but even when they’re separate roles, the two should be working together for optimal results.

“Teamwork makes the dream work,” says Laskin. This is especially important when automated testing is incorporated: “When coding or working with a coder, make sure everyone is on the same page and writing code for automated testing. This eliminates any confusion and ensures that the testing process is expedited.”

After a test is conducted, important information and results must be shared with the dev team. “Collect metrics and show them to your team,” says Fortner. “Don’t allow them to be ignored.”

  1. Test both the look and function of the app.

Some developers and testers may prioritize look over function, and others might focus on function but ignore aesthetics. Striking a balance is key.

“First impressions matter. But you shouldn’t just focus your tests on the visual and design aspects of your app,” says Laskin. “Features need to be thoroughly tested as well–especially the workflows that are most important to the overall user experience. If you don’t deliver what users expect (and what the business requires), the eye-pleasing app you were working on will still be uninstalled…and good luck with winning consumers back when that happens.”

  1. Test across multiple systems and devices.

Testing an app on only one device/system rules out the vast amount of experiential variety that different ones can present. Even if your app is only available on one type of device (e.g. it’s only in the Apple Store), you still have to account for a different experience across specific devices–whether it’s the iPad or all the different generations of iPhones.

“The fact is, apps will appear and function differently on every device and platform so you want to ensure your code works as desired across all devices,” says Laskin. “Developers need to ensure their apps function well (and look pleasing) not only across mobile and desktop devices, but different operating systems, and the overwhelming array of devices from the latest iPhone X to iPhone 4 and the Samsung Galaxy to Google Pixel. ”

  1. Take advantage of open-source tools.

Software testers have their own communities, and you can find plenty of open-source tools to make your life easier. “There are a number of open source tools and technologies available for software testers,” says Masilamany. “They need to be familiar with those tools and assemble them to create test suites built specifically for the product being tested.”

Fortner advises to look at open-source resources when creating general automated tests as well. “Leveraging open source communities and tooling allows you to get the most out of your test-automation efforts.”

Laskin finishes by reminding us of the stakes involved. “The behind-the-scenes process of testing is what ensures that products work for users,” he says. “While it sounds simple enough, as today’s users become more discerning (and impatient), ensuring a seamless, fault-free and delightful experience is imperative to app success.”

Source: All the above opinions are personal perspective on the basis of information provided by Forbes and contributor Laurence Bradford.

https://www.forbes.com/sites/laurencebradford/2017/12/14/software-testing-101-8-practices-successful-app-testers-embrace/#ee107d65b13d

 

15 Great Project Management Tools for Agencies

January 23rd, 2018

In an increasingly digital world, having the right project management tool is essential to keep teams on track. You need a shared digital system so everyone involved in a project can stay up to date on to-dos, in-progress items, notes and follow-ups. This is especially true in an agency setting, where everyone is dealing with a wide range of tasks for internal and external stakeholders.

The best tool for your company is going to depend on your size and your needs, but it doesn’t hurt to get recommendations from other agency professionals who have tested a few of them out.

All photos courtesy of individual Forbes Agency Council members

Fifteen Forbes Agency Council members share the tools they rely on.

  1. Asana

Asana is a favorite of mine because it can be used across different departments. It easily allows us to start a project with one team, set sub-tasks and manage deadlines efficiently. Then if the project needs to be passed to another team, it can easily be assigned to them. Not only can they add their own notes but they also benefit from having access to the full history of the project.   – Katie Jansen, AppLovin

  1. Brandpoint

Brandpoint is effective for content management because it creates an easy project flow between co-workers. In our experiences with the content management team, there used to be a lot of juggling between who produces, curates, and eventually posts content such as blogs and press releases. Since we started using Brandpoint, the project funnel has become clearer more organized.   – Jeff Grover, BestCompany.com

  1. Breeze

We love breeze.pm because it’s super simple, fast and doesn’t get in the way of our work. Additionally, they are super responsive to changes. We’ve regularly emailed about feature requests and multiple times they’ve implemented that feature within a day or so. It’s great!   – Ryan Short, MODassic Marketing

  1. G-Suite

We coordinate a lot using Google Spreadsheets for link-building campaigns, content marketing calendars and we sometimes incorporate Google analytics and campaign data directly into Spreadsheets. We also use Google Docs to collaborate on different content-based projects. For meetings and external communication, we collaborate with Google calendar and Gmail.   – Kristopher Jones, LSEO.com

  1. InVision

We recently made the switch from Moqups to InVision to handle collaboration between our design team and sharing work with our clients. InVision helps us take the typical wire framing process one step further with their prototyping capabilities, which allow us to link and click between multiple pages like we would on the live site.   – Chapin Herman, Herman-Scheer

  1. Mavenlink

Mavenlink is my go-to for project management. You can add in customers, upload latest files, easy-to-use, report to finance, and track time management. You can also see which of your team members are being over-utilized, so you can better manage workflow and team support.   – Jaymie Scotto Cutaia, Jaymie Scotto & Associates

  1. MeisterTask

After much analysis and internal debate, my team landed on MeisterTask to efficiently manage our projects. MeisterTask does a fantastic job of providing key data and functionality without being too overwhelming or difficult. The tool easily allows us to create lists to organize our workflow, assign tasks and due dates to team members while tracking all progress in real time.   – Jody Resnick, Trighton Interactive

  1. Podio

Podio is an amazing all-in-one solution for project management. Since it’s app-based, you can customize its app set for specific types of deliverable-based PM and reporting. Secondly, we can manage a project from start to finish with internal agency discussion and auto tasking for our 50-plus team members and then the project can evolve to be client facing, for review of drafts, content and reporting.   – Loren Baker, Foundation Digital

  1. Slack

Slack may not be a project management tool per se, but it’s definitely project management-adjacent. Since it integrates with Trello, Github and Google Docs, it’s become the one place our whole team can go to find out what’s up. For us, it has decreased emails and made collaboration with remote team members a breeze.   – Sarah Mannone, Trekk

  1. SmartDraw

There are dozens of project management tools. Some are super simple but fail at anything more complex than planning a birthday party. Others are powerful enough to plan a moonshot, but require a Ph.D. to operate. SmartDraw gives us the power we need for even complex projects in a super-simple app that all our staff can use.   – Neil Myers, Connect Marketing

  1. Teamwork

I like Teamwork for its power and simplicity. Many tools that can handle complex project management needs like task dependencies are often too technical and cluttered for what an agency needs. Many simple project management tools lack the level of depth and customization an agency needs. Teamwork sits in the middle as a practical tool to manage projects and track time.   – Dan Golden, Be Found Online

Forbes Agency Council is an invitation-only community for executives in successful public relations, media strategy, creative and advertising agencies. Do I qualify?

  1. Trello

Oftentimes, I find people (and myself) getting inundated because the idea of “how much work there is to do” prevents people from getting started. With Trello, you can map out each initiative that’s a part of a campaign, assign project leads and set deadlines. Also, it’s such a great feeling when you can check an item off the to-do list or mark an item as completed.   – Chi Zhao, Hokku PR

  1. Wrike

Wrike is an excellent project management tool that serves us well. Employees can project-manage, create tasks and subtasks, and bring others in with a few clicks. It includes time tracking, chat, reporting and comprehensive search. It keeps a record of everything happening, everything that has happened, and what will happen in the future. You can even bring clients into the mix.   – Bernadette Coleman, Advice Local

  1. A Combination of Tools

We believe successful project management has three key components: tracking the project tasks to meet the deadline (Teamwork), communicating to the client the project status (Slack) and outlining the ideal process for the project (Google Suite). A standalone tool many times will miss at least one of these key parts. Find the right specialized tools for your business, as it likely won’t be just one.   – Todd Earwood, MoneyPath Marketing

  1. One That Works the Best For Your People And Processes

For our company, it’s Jira. Our people are technical by nature. Also, our processes are well defined. Therefore we can match workflows associated with a task to our processes. If your people are creative and collaborative, you might need something more like a forum board. Your project management tool needs to match your people and processes.   – Alan Morte, Three Ventures Technology, Inc

Source: All the above opinions are personal perspective on the basis of information provided by Forbes and contributor Forbes Agency Council.

 

Big Data, Small Target: The Smart Approach To Artificial Intelligence

January 18th, 2018

Companies that have invested heavily in big data solutions want to know how to make smart, strategic investments that will distinguish them from the competition and enable the best possible return before making the decision to go all in. In the past, not all enterprise big data initiatives went as planned. These failures are not usually published, but the big data failure rate is unusually high.

According to Gartner, only 15% of businesses make it past the pilot stage of these projects. Our fear, as leaders of technology companies, is that with so much attention surrounding AI, the pressure is on to apply the technology or risk falling behind the many decision makers who are adopting technologies without first establishing clear business goals and understanding the differences between AI and ML and how they should be applied.

It’s easy to get caught up in the allure of artificial intelligence as well as its hype, including breakthroughs like deep learning, but those looking to make an outsized impact should instead focus on its more practical counterpart: good old-fashioned machine learning — or “cheap learning,” as my colleague Ted Dunning and Ellen Friedman explain in their guide Practical Machine Learning: Innovations in Recommendation.

The distinction is simple: Cheap learning is about leveraging basic machine learning techniques on straightforward data sets en masse to generate a large number of small, incremental improvements. Deep learning, on the other hand, is a specific subset of machine learning. Deep learning is a collection of sophisticated and highly intensive machine learning approaches that make business decisions based on highly complex data sets possible.

For tasks that involve analyzing raw data, such as images and voice recordings, deep learning is best. But when it comes to working on simplified, structured types of data, we’ve found cheap machine learning will do the trick. When you consider that the majority of data flowing through enterprises falls into this second category, it’s clear which tool makes the most sense.

As you chart a course forward, here’s what you should be doing today to set your company up for success tomorrow:

Capture More, Better Data

Artificial intelligence is fueled by data. Pick an approach, and you’ll find data at the center. Why? Because large volumes of complete data sets are needed to accurately recognize significant patterns of behavior with people, events or other characterizations, and that’s what AI is all about.

Having access to more data — especially a range of contributing or related data sources —  is usually an advantage. This is why companies like Google (a leading investor in our company), Amazon, Facebook, Alibaba and Baidu are so powerful from an AI perspective. These companies have enormous data sets that they’ve been capturing for decades across a wide variety of trended patterns. This data has fed into their algorithms for years, making them increasingly more refined, accurate and targeted.

For most enterprise companies, the big challenge is that it’s not always clear at the time data is collected what’s going to matter down the road. This makes it hard to know what to measure today and if that measurement will be valuable in the future. This line of thinking represents the old-school way — it presumes there is only a finite amount of data one can feasibly capture and store, but that’s no longer the case with the advent of new technologies. Furthermore, the ability to connect this data, at a meta-schema level, allows a completely new perspective on previously unrelatable data sources. In addition, big data has seen its fair share of innovation in recent years with storage becoming increasingly smarter and cheaper.

Establish Clear Business Objectives

Successful machine learning isn’t just about choosing the right tool or algorithm and feeding it tons of data. Context matters. Putting machine learning to work on large data sets will yield little value without clear objective goals guiding the efforts.

Do you know what success looks like today? How about five or 10 years from now? Machine learning can help you get a clear baseline today and empower data scientists and engineers to point it in the right direction based on data visibility that is continuously being reviewed and refined.

There’s a sense that AI techniques like machine learning will offer businesses a magic bullet that turns everything into a smarter, more efficient version of itself. This is wishful thinking. Today, these tools work best in narrow frameworks; in the long term this will not be true, but it’s today’s reality. The more specific the objective, the more effective the tool and the higher likelihood of success. Operationalizing a vast number of simple but powerful techniques can deliver enormous business value with relatively short development times and ease of deployment and maintenance.

Stay Grounded

The path to real business value is a well-crafted strategy. Once you have a business roadmap with goals and well-defined objectives, the application of AI techniques will make more sense and align with the overall business strategy. There is no worse feeling or decision more career-limiting than using advanced techniques and technologies that are not aligned to your business goals and strategy. These projects are, typically, the most strategic and have the greatest visibility and highest expectations.

Every business wants demonstrated improvements based on hard data to support the results. The bottom line: Use the appropriate technique for the assignment given. Truthfully (and based on our practical experience), deep learning will come in handy and may be the right strategic technological choice. But for most applications in the enterprise, cheap learning will offer a more practical — and effective — solution.  Don’t be afraid to recognize the difference.

Source: All the above opinions are personal perspective on the basis of information provided by Forbes and contributor Tom Fisher

 

A Look At SAP’s 2017 So Far

January 9th, 2018

Software giant SAP continued its strong performance in 2017, with its top line growing at more than 9% in the first three quarters of the year and beating market expectations. Aided by a phenomenal increase in new cloud bookings, revenues from its Cloud business remained the primary growth driver.

The company’s cloud and software gross margins saw a marginal decline, but a substantial improvement in its services gross margin led to a slight improvement in overall margins. We expect cloud margins to continue declining in the near term, as the company faces tough competition from software behemoths like Microsoft, Oracle and Salesforce. Operating profit and EPS grew by 19% and 35% year-over-year, respectively, due to lower share-based compensation, acquisition-related charges and restructuring costs.

Owing to a good performance in the first three quarters of the year, as well as overall stock market gains, SAP’s stock is currently trading 16% higher than its price in January. While the revenue growth was seen across all business segments, SAP’s Cloud business, aided by a strong increase in new bookings, was the standout performer.

The company continued its dominance in the Enterprise Resource Planning software market, with more than 1,500 customers adopting its S/4HANA platform this year, taking the overall count to over 6,900 customers. This should assuage some investor concerns about the long-term value of this platform, the sheer power of which is reflected in its cost.

Moreover, with 80% of its customers still using the earlier platform and expected to shift to the newer one in the near future, there is tremendous potential which the company expects to tap.

Cloud Offerings Continue Phenomenal Growth Under Increased Adoption

As more and more companies adopt cloud services, the overall cloud market size has been expanding at a rapid rate. Aided by a 30% increase in new cloud bookings, the SAP’s revenue from Cloud Support and Services grew 28% in constant currency. The growth was evident across all geographies, with its revenues growing by 9% year over year in EMEA, 7% in the Americas and a robust 12% in Asia-Pacific.

SAP is also rapidly expanding its presence in the Internet of Things (IoT) space with new products and partnerships. This is a multi-billion dollar market, which could very well be responsible for driving the next phase of SAP’s Cloud revenue growth.

The recent addition of multiple Internet of Things (IoT) solutions to the SAP Leonardo digital innovation system highlights SAP’s renewed focus on bolstering its foothold in the IoT domain, which could drive the company’s top line in the future.

Combined with its ongoing efforts to strengthen its offerings in the machine learning space, SAP is likely to fare well going forward despite the heavy competition.

Source: All the above opinions are personal perspective on the basis of information provided by Forbes and contributorTrefis Team