Posts

Testing the Internet of Things

“The Internet of things, will augment your brain” – Eric Schmidt Why IoT is such a hot topic today? Before we delve into details of testing of Internet of Things (IoT), it will be good to see why IoT is such a hot topic today. Gartner estimates that IoT product and service suppliers will generate incremental revenue exceeding $300 billion in 2020. It will not only impact the business, but our lives as well. Some of the futuristic quotes on IoT from different source. In brief, a big money is involved and business will follow. Internet of Things Market Statistics – 2015 Some Bottom Lines on the Internet of Things (IoT) 6 Quotes that Predict the Future of the Internet of Things The ‘Internet of Things’ Quotes to Consider While the IoT is still taking shape, it’s already making incredible strides as a new frontier for the connected world in which people, devices, environments and virtual objects are all connected and capable of interaction but that brings new testing proble

Measurement & Metrics

"You cannot improve what you cannot measure" A lot had been talked and spoken already about ‘Measurement & Metrics” in Software Testing.  In this article I am not saying that something new will be written or discussed, but my idea for this article is to summarize on this topic from various different sources. Measuring, Monitoring and Acting on it are key roles of any manager in any industry and Software Testing is no different.  A lot of times it has been seen that KPIs are being measured and monitored but not being acted.  In that case, this whole exercise becomes worthless.  Sometimes, the measurements themselves are not collected and reported correctly, which is more dangerous than not doing this activity at all. Other times, it had been observed that there are numerous KPIs are being monitored without having any goals in mind.  As per me, the number of KPIs that should be measured and monitored should be minimal and any addition to new KPIs should be discuss

Integrating Automated Testing into DevOps

DevOps is neither a tool nor a methodology.  It is a philosophy for how people in the software development supply chain interact.  DevOps practices include processes and tools that streamline software delivery by continuously improving feedback from production development and automating delivery activities. Tools required for streamlining the delivery Tools to automate and manage builds Tools to automate testing and results reporting Tools to provision environments (physical, virtual, private and cloud) Tools to orchestrate continuous delivery of applications Common Tools Source Control (Git, Subversion, CVS etc.) Build Automation (Ant, Anthill, Maven, Make etc.) CI Tools (Jenkins, CruiseControl, Bamboo, TeamCity etc.) Test Tools – Static Analysis Java Stack (Checkstyle, PMD, FindBugs, JDepend etc.) .NET Stack (Stylecop, SourceMonitor, CloneDetective, NDepend etc.) Ruby Stack (rubocop, Rails best practices, Cane, Reek etc.) Test Tools – Unit Tests (JUnit, TestNG, NUnit

Top 10 Challenges of a Tester Working in Agile Team

Sprint becomes a mini-waterfall and testers are involved late in the sprint Lack of focused testing as for many other things testers time is required like prepare stories for future sprints, keep an eye on broken build on CI, work with product owner for demo, help developers with test data, environment setup etc. Complexity of test environment especially when quick fix need to be tested before deploying to the production Need to learn on continuous basis especially new tools & technologies Due to frequent requirement changes, ensuring full test coverage is not straight forward Support of testing for daily or semi builds Lack of documentation Code accidently broken due to frequent builds, which results loss in testing time Support testing for the last minute changes especially with the deadline approaching Test team gets squeezed due to over commitment and sprint durations

Test automation techniques in agile environment

·          Start small at the beginning of the project and build the test suite iteratively with each passing sprint. ·          Create a test automation backlog to serve as a prioritized list of automation tasks. This will help you stay focused on the immediate tasks without losing sight of the long-term goals. Have a good look at the available testing tools and their capabilities and don’t be afraid to invest a sprint or two in getting your hands dirty with them. This will ensure that you get started with the best available testing options and establish a realistic assessment of their features. ·          Keeping your tests and data loosely bound will help you to switch testing tools with ease in the future if such a need arises. ·          Create meaningful tests and give due consideration to concerns like maintainability and execution time while adding tests to the automation suite. ·          As soon as possible, make every effort to enable the whole team to use the secu

Common Workflows for Core Banking

·          Opening/Creating different types of account viz. Saving and Checking (CASA) and Loan Accounts Etc ·          Cash/ Cheque Deposits using different services at Branch by Teller, and Cash Deposit Machines for (Self / Third Party) ·          Cash Withdrawal, Deposits, Transfers(between linked accounts) from ATM terminals ·          Low-volume (NEFT) and High-volume (Real time gross settlement systems - RTGS) transactions using different Banking channels (Like Internet Banking, Mobile, IVR Etc) ·          Automated Clearing House (ACH) and Electronic Funds Transfer (EFT) payments ·          Cash/ Liquidity Management function ·          Stop Cheque request, Utility Bill payments, Credit card Bill Payments Etc ·          G/L (General Ledger) postings happening correctly/not for Book keeping and Accounting entries ·          PIN Change, statement request (Mini statement, and Historical statements) ·          Time Deposits and Recurring Deposits and Loan proce

Common Performance Problems in Application Server - Concurrency

Code Deadlock "By drilling into each Code Deadlock event, operations were able to analyze the various thread contentions and locate the root cause of the issue. The root cause of the slowdown turned out to be an application cache which wasn’t thread-safe. If you look at the screenshot below, showing the final execution of the threads in deadlock accessing the cache, you can see that one thread was trying to remove an item, another was trying to get an item, and the last thread was trying to put an item. 3 threads were trying to do a put, get and remove at the same time! This caused a deadlock to occur on cache access, thus causing the related JVM to hang until those threads were released via a restart." Code Deadlock Waiting Threads “I simply take the CPU Time and the Method Execution Time of a particular method, component or framework. Here is an explanation of these two values: §   CPU Time: Is the time spent on the CPU by the executed code §   Execution Time