Brief Description of Keyword Driven Testing

The advanced keyword driven testing is the next generation test automation approach that isolates the task of automated test case execution from the automation framework.

Test Language isn’t a test automation approach. Test Language is an extensive test approach that hands over the duty of automation design, outline, and execution to the functional testers by utilizing keyword driven testing solutions.

In keyword driven testing using selenium, every keyword relates to an individual testing activity like a mouse click, choice of a menu thing, keystrokes, opening or shutting a window or different activities.

An advanced keyword driven testing is an arrangement of activities, in a keyword design, that reenact client activities on the tested application.

Fundamentally, to play out any testing activities, testers essentially simplified the keyword that relates to the coveted task or they can simply record their activities and the keyword driven testing in selenium that worked for them.

What is keyword driven testing?

The KDT is a kind of useful automation testing system which is also called table-driven testing or action word based testing.

In Keyword-driven testing, we utilize a table arrangement, more often than not a spreadsheet, to characterize keywords or action words for each function that we might want to execute.

The advanced keyword driven testing approach isolates the test automation usage from the test case outline. A keyword is characterized for each activity in the test case. Once the keyword is set, you needn’t bother with any programming learning to effectively outline and keep up the automated tests.

Testing tools utilized for Keyword Driven Testing:
Some of the keyword driven testing tools which are broadly utilized are given below:
Why do Keyword Driven Testing
Keyword Driven Testing is done because of the following reason:
  • Regular parts dealt with by standard library
  • Utilizing this approach tests can be composed in a more conceptual way
  • High level of reusability
  • The detail of the content is avoided the clients
  • Clients don’t need to utilize the scripting languages
  • The test is compact, viable and adaptable
Disadvantages and Advantages of keyword driven testing:
Advantages:
  • Keyword driven testing enables automation to be begun before in the SDLC even before a steady form is conveyed for testing.
  • There is a high level of reusability.
  • It is most appropriate for non-technical tester or a novice
  • Empowers composing tests in a unique way utilizing this approach.
Disadvantages:
  • Beginning interest in building up the keywords and its related functionalities may take longer.
  • It may act as a confinement to the technically abled testers.

Thus, the keyword-driven test automation is an awesome method to make adaptable test cases. It empowers teams with a differently technical foundation to work on test automation projects together while keeping test plainly organized and effortlessly viable.

Author: TestOrigen Software Testing 

What is Gantt Chart & How to use it?

Numerous individuals have never known about a Gantt-chart. Basically, a Gantt chart project management software is a visual perspective of task scheduled after some time.

Gantt chart software is utilized for arranging tasks of all sizes and they are a helpful method for indicating what work is booked to be done on a particular day. They additionally enable you to see the start and end dates of a project in one easy view.

Gantt chart definition: Basic Gantt charts are a staple tool in project management. They’ve accomplished this status due to their capacity to envision the timeline of the project and the resources required for it. In any case, with the plenty of various visual tools, you would now be able to use to track projects.

A Gantt chart developed by Henry Gantt is over 100 years prior and have been a staple of project directors ever since. The reason is that they are basic and natural to make and utilize, however, show a lot of data initially.

While Gantt chart project management software are like timelines in that both diagram types deal manage time and events, the configuration and reason for Gantt charts are very unique.

Gantt chart purpose:

Projects have a considerable measure of moving parts. They are normally time-delicate, so ensuring everything is arranged appropriately and keeps running on a calendar are urgent to effective completion.

Gantt chart project management is an amazing tool for small to moderate size activities including different individuals. They are easy to make and utilize. It doesn’t require a lot of time or push to make Gantt chart and stay up with the latest if you utilize a decent, intuitive software program.

How to create a Gantt chart:

It’s simple for anybody to make a free online Gantt chart. You can import an assignment list, or make one starting with no outside help, and immediately look at your Gantt bars populate.

Here’s a well-ordered Gantt chart tutorial for making a detailed Gantt chart:
Step 1: Make a new project

When you first sign in, you essentially enter a project name and select “Make”

Step 2: Add Tasks.

As you include tasks, the default date will be today, and since you haven’t included a more drawn out due date than today, the task shows up in the Gantt chart software open source to the all right, speaking to that they begin and end today. The dotted line represents the present date.

Step 3: Add due dates.

As you expand the dates, the bars on the Gantt broaden as well, demonstrating to you to what extent each task will take.

Instructions to Use a Gantt chart to Collaborate with Your Team

In spite of the gossipy tidbits, it’s easy to locally available your group with most online project management tools. When you have welcomed your group to the new tool, you can begin enhancing task administration in two or three distinctive ways. You can organize a team assembled to work out the project, appropriate on the Gantt chart tool itself. Or then again, you can pre-populate the rundown of tasks into the Gantt, either with a simple import capacity or reordering the rundown, so the tasks and assignments are now populated when your group trusts on a call.

Here’s the manner by which you can simply begin working together with your group:
Step 1: Allocate colleagues to assignments

You can simply re-assign or assign assignments to individuals in view of their accessibility. At the point when individuals are alloted to assignments, their name shows up over the task-bar on the Gantt.

Step 2: Customize Gantt Chart

You can customize your Gantt chart in software engineering in the way suits your group. Here, you can see that distinctive individuals are spoken to by various hues on the Gantt, so it’s easy to see initially, who is in charge of which tasks. Others may utilize hues to speak to various periods of a project or distinctive groups in charge of a gathering of tasks.

Step 3: Attach Files, Comments or Notes

At the point when your group works cooperatively on a Google Gantt chart tool, you can do as such substantially more than simply design tasks. You can include pictures, recordings, links, notes or remarks right at the task-level, so all the applicable assignment work is caught and effectively available in one place.

Step 4: Get Email Alerts

Your group can personalize email alerts in a way that works for them. That way, at whatever point their tasks have been refreshed on the Gantt or anyplace else in the framework, your group is quickly alarmed by that change.

Step 5: See What’s New

Every one of the reports on the Gantt can be found in one view on your Activity page. You can perceive what the group is working on and when tasks have been updated. Collaboration is simple with Gantt chart planning.

We’re almost certain you’ll locate your own specific way to take advantages of Gantt chart regardless of whether it’s for tracking progress, visualizing task dependencies, collaborating and scheduling. In case you’re looking for more direction in regards to project management, you should visit our website or give us call.

Author: TestOrigen Software Testing

Moving Beyond Traditional App Testing with AI and DevOps

Are we not living in an amazing time? Technologically advanced, digitally sound!

We thrive on all things digital. The world around us is becoming all digital with limitless possibilities. Today as a consumer, you can preorder your coffee, interact with augmented reality in the store, and skip the lines at store with alternative payment methods.

To cut the story short, as a consumer, we have access to unlimited goods and services and connected around us. And mobile is at the center of all this change. It’s the tool that is bridging the gap between the digital and physical.

And the availability of 5 million apps come as a proof of this explosion. In the first quarter of 2018, Apple had 2 million apps on App store. As of the same quarter, Android users were able to choose between 3.8 million apps. More and more businesses are adopting Mobile Apps as their primary channel for business growth. This explosion proves that mobile is at the core of customer experience.

Before moving further into the topic, you can watch the entire webinar here or else you can skip the video and continue reading to get the gist of the webinar.

As a business mobile Apps are not just another channel. More and more organization are realizing that it can be a means to create awesome customer experiences. There are numerous examples to illustrate.

One such example is Starbucks.

The secret to Starbucks’ app’s success is that it gives users an intuitive experience, making it as easy to find a store, order your coffee and make a payment through their wallet. Recently, Starbucks has also taken the mobile app experience one step further with an innovative conversational ordering system powered by Artificial Intelligence (AI). The explosion in mobile apps imply to speed. How quickly you can make a change and let the customer experience it? The mathematics of velocity matter here. Market speed has left companies with a simple problem: How do we go faster than we ever have before, without losing an eye on quality?

The success stories like Facebook and Netflix tell us that we can It is an amazing fact that Facebook mobile app is updated and refreshed every two weeks like clockwork. That’s the new normal. We will talk about this example in detail a little later in the webinar.

So in order to gain Quality@Speed, we reach to a point where experience and quality intersect and we name this convergence Quality@Speed. It’s a no brainer to say that Quality @ speed can be achieved with two fundamental principles.

Agile: Agility allows teams to work closely with business and it Pulls quality forward. It’s also called Shift Left of Quality. You are delivering small chunks to end consumers on weekly or monthly basis. This allows teams to get feedback early on.

DevOps: DevOps brings you speed. It’s a Shift left of operations.

DevOps practices allow you to create “ready to deploy code” on demand. In other words, it means deploying software and the environment on which it runs, automatically and on demand, at any stage of the software delivery lifecycle. You can truly have multiple deployment in a day.

If we dig deeper, DevOps is enabled by two practices Continuous Integration and Continuous Delivery. These two will not work in sync until you have continuous testing in place. It’s also proven by many independent studies.

Here, we have a look at the data extracted from World Quality report, 2017-18 showcasing the popular and the best practices followed in DevOps.

If we have a closer look at the data, we will find that 87% of CIOs and senior tech professionals use or are planning to use cloud based test environment. Depending on choice of organization, it could a Private or public cloud but it’s a must to achieve speed.

Second data point is about Continuous Testing, here as well more than 80% of respondents chose this as a preferred DevOps practice.

Let’s look at what some of the success stories say

Facebook follows Ship early and Ship often approach. They update their web app multiple times a day while their Mobile Apps with frequency of almost 2 weeks. This is possible with DevOps best practices they have been following from past few years.

If we analyze their DevOps story in short, we find that one of the biggest takeaway for Mobile Teams is their massive investment in device infrastructure. Every time they make a change to app, it gets tested on 2000 real devices. Imagine 2000 real devices! They have bypassed use of simulators/emulators.

Mobile DevOps Challenges
Now let us move on to have a look at some of the Mobile DevOps challenges that comes as an obstacle on the way of mobility teams.

Multi-platform Support
Mobile apps have multi environmental target. Mobile apps have to deal with device fragmentation as they need to be workable on multiple devices. This poses a test for Ops team to build an optimal device infrastructure. Moreover, it is difficult to keep pace with the ever changing device requirements.

Mobile apps as an enterprise front end
Mobile apps, that too, mostly the enterprise mobile apps catering to business-to-consumer (B2C) or business-to-employee (B2E) segment of apps, characteristically have very less trade logic on the mobile device itself. On the other hand, a B2C or a B2E mobile app serves as a front end to enterprise mobility already in use by the firm, such as transaction processing systems, employee HR systems, or customer acquisition systems.

This implies that the mobile app, available on multiple platforms as a native or Mobile Web app, needs to be built and delivered aligned with the backend services. The biggest challenge for DevOps is to think about enterprise mobility holistically and manage their build and release processes and cycles.

The App store
The app store includes an extra asynchronous step to the deployment procedure since developers are not able to update apps on demand. Even for grave bug fixes, new app versions need to pass through an app store submission and review process. Continuous delivery here gets a roadblock and the instant delivery becomes “submit and wait.”

Build Challenges
Since apps today are supported on multiple platforms, numerous different builds of the app has to be triggered each time when a change is being deployed by a developer.

The build system and configuration for each supported mobile environment is dissimilar from the others. You will probably require a small farm of build servers to be provisioned and available to manage these multiple operating system builds.

A typical Mobile DevOps Architecture


Let’s try to depict the Mobile DevOps cycle. Some of the tools mentioned here are a representative set of tools in the respective category.

It starts with a Dev checking in a code to Git/Versioning system. That triggers the CI server to build the App which could be Internal build server or a cloud system like Circle CI. Once the build is successful, Unit tests are runs on Real devices. If the Tests are pass, build is pushed to QA Env. Where Automated regression tests are triggered on real devices. If that’s a pass App compatibility tests for new features are done.

The Evolution

We’ve by now witnessed quite a journey to reach Continuous Testing. “Classical” testing was intended for software delivery cycles spanning months or year. Agile has changed this norm to a 2-week development iterations—but now something extra is required to meet today’s insatiable demand for software. Attempts to fasten the process further, created a chasm between Development, Test, and Operations. That gap has been bridged with DevOps and Continuous Testing in order to move beyond that speeding up plateau. However, when we look into the future, it’s clear that even Continuous Testing will not be enough. We need “Digital Testing” to achieve extra acceleration and meet the quality needs of future. AI can help us get there.

Mobile Testing and AI
If you keep pace with the market buzz you will find there is an ongoing debate about what AI can do? When it comes to testing, lot of theories have started predicting that AI has the ability to replace testing. Well personally I don’t see this happening in near future. But we certainly are very excited about capabilities AI present in from of us.

When we an organization think of using AI to sole testing problems we think on three lines
a) Can it improve speed of current testing process?
b) Can it help generate meaning full data for me to make intelligent decisions?
c) Can it improve the test coverage and reduce cost?

So, are you ready to adapt a personal assistant for testing. So are you ready to say? Certifaya, Can you run an App Test for me? pCloudy’s AI powered bot, can automatically test the mobile applications over hundreds of real mobile devices and gives its users real time insights into the app’s behaviour and performance. Do you want to explore more? Try Certifaya for free now and testify it yourself. You can also go through our webinar on the same topic to understand it in detail.

Author: Shankar Anamalla

Learn Basics of Ruby Automation Testing Tool

Ruby testing is a universally useful, object-oriented, intelligent, dynamic programming language. It was first created and outlined in the mid-1990s by Yukihiro “Matz” Matsumoto in Japan. As indicated by its maker, Ruby was impacted by Eiffel, Perl, Lisp, Ada, and Smalltalk.

Smalltalk is a genuine object-oriented language. Ruby automation testing tool, same as Smalltalk, is an impeccable object-oriented language. Utilizing Ruby syntax is significantly much easier than utilizing Smalltalk syntax.

Ruby on Rails automated testing is a greatly gainful web application system written in Ruby by David Heinemeier Hansson. This Ruby automation testing tutorial gives you a complete understanding of Ruby automation testing.

Why Ruby testing?

Ruby testing started in Japan and now it is picking up fame in US and Europe too. The accompanying components contribute towards its fame

  • Simple to learn
  • Really object-oriented
  • Less coding with fewer bugs
  • Easy to broaden
  • Accommodating community
  • Open source
  • Rich libraries

In spite of the fact that we have numerous motivations to utilize Ruby testing tool, there are a couple of disadvantages also that you may need to consider before actualizing Ruby

Performance Issues − Although it competitors Python and Perl, it is as yet an interpreted language and we can’t contrast it and abnormal state programming dialects like C or C++.

Threading model − Ruby automated testing does not utilize local strings. Ruby strings are reproduced in the VM as opposed to running as local OS strings.

Features of Ruby testing framework:
  • Ruby is open-source and is freely accessible on the Web; however, it is liable to a license.
  • Ruby tool for testing can be utilized to compose Common Gateway Interface scripts.
  • Ruby can be inserted into Hypertext Markup Language.
  • Ruby has a perfect and simple sentence structure that enables another developer to learn rapidly and effectively.
  • Ruby is a broadly useful, interpreted programming language.
  • It is truly object-oriented programming language.
  • Ruby is a server-side scripting language like Python and PERL.
  • Ruby can without much of a stretch be associated with Sybase, MySQL, DB2, and Oracle.
  • Ruby has a rich arrangement of inherent capacities, which can be utilized straightforwardly into Ruby scripts.
  • Ruby has comparable sentence structure to that of numerous programming languages, for example, C++ and Perl.
  • Ruby for testing can be installed in POSIX and Windows conditions.
  • Ruby helps numerous GUI tool, for example, GTK, OpenGL, and Tcl/Tk.
  • Ruby is especially versatile and huge projects written in Ruby are effortlessly viable.
  • Ruby testing tools can be utilized for creating intranet and Internet applications.

We, at TestOrigen also perform automated testing with Ruby as well as Ruby on rails testing and provide 100% bug-free software products to our worldwide customers.

Author: TestOrigen Software Testing

5 Emerging Software Quality Assurance Testing Trends to Follow

Quality Assurance Testing is a critical step in the process of software development. It enables discovering defects early on in the development cycle, saves money, time and frustration.

3 Reasons Why Quality Assurance Testing Services Are Essential

The following are reasons why quality test services are important for success in any software development project.

  1. Saves money and time. While it may take time to understand QA testing and software testing servicesthroughout the development project, it would cost considerably less to fix an issue early on in the cycle instead of having to go back to numerous steps in the development process to fix something later on. Thus, QA Testing should happen throughout the project lifecycle than simply at the end or during the phase implementation.
  2. Prevents feature creep. Definitely, adding a specific feature may sound like a great idea, but during documentation review, a quality assurance tester could bring up several possible concerns, which should be looked into before moving further. These could include security questions or concerns on how it easy it would be for the app to be scalable, if the feature is added.
  3. Minor change could have a major impact. Even if there’s minor change to the software app, a QA tester has to understand its effect and test it. A good analogy would be to imagine if there was a slight change to the navigation code, which an airplane uses, and someone has decided that it’s not worth testing. It’s likely no one wants to fly with that company. It works the same with software development. If each component has not been tested, nobody would know that it would perform as expected when deployed.

Quality Test Services In Today’s Software Development Process

Nowadays, where quality is a primary factor all over the world, software testing are indispensable for any organization to ascertain the least possible risk for the end product. Dedicated QA team works 24/7 to help clients across industry verticals meet their organization-wide quality standards and goals. Furthermore, the QA testing team have proficiency in numerous platforms, technologies and standards, thus they could apply integrated testing strategies as well as the best testing solutions.

Top Emerging Testing Trends To Follow In 2018

To continue the business mobilization era as well as digitalization brings new techs in software development, together with quality assurance testing services trends. As it is, the QA department is one of the most critical ones, which defines the weak points of apps and websites before they’re launched. In itself, testing is an important stage of developing software, wherein all QA initiatives will save money and time by finding bugs or problems fast and in an effective manner. So, every QA expert should be updated on the latest testing trends to be able to present a product that is high-grade, which clients demand.

When it comes to software testing, quality and speed work hand in hand, indeed. Check out the top techniques to find out the latest trends in usability, performance, compatibility, functionality and security testing areas.

  1. The IoT conquest. The internet of things is becoming the Optimus Prime among others. Applications and software, which connect hardware to the web or with one another bring about huge concerns for the IoT project QA team. Establishing security priorities as well as defining the correct testing tools isn’t easy. An IoT product should be tested for its reliability, functionality and its effectiveness. The IoT tech breaks boundaries and expands possibilities. However, it’s also vulnerable to bigger amount of breaches in security. Thus, this latest trend to be focused and thorough when performing dynamic and static testing of internet of things gadgets.
  2. Open source tools would win over the world. It’s a fact that more and more companies accept the services of Open Source to execute test management and automation, defect management and DevOps and agile tactics. This means only that the next era would bring further expansion of the newest tools in the market, which is the Open Source ones. This could lead to greater support communities’ involvement for open source tools that become more active. Full support, feature richness and accountability of the said technology reduces development costs and hastens the making of an app.
  3. Merge of DevOps and Agile. The key principle of DevOps is that all the departments of an IT firm should seamlessly collaborate. Meaning that centralized Test Centers of Excellence would be things of the past soon, since test automation developers are part of the agile teams already nowadays.
  4. Big time for big data testing. The explosion of digital technologies, like Big Data and Cloud computing signals demand for appropriate testing trends in software engineering this year would exponentially grow. QA teams and quality assurance testing services require a very robust strategy for Big Data testing since it requires high-grade frameworks and analytical tools, together with superior techniques. Big sets of data has nowhere to go but grow and it requires improvement in the testing process on the highest level for quality assurance testing services to provide faster releases as well as depletion of the time to market.
  5. Migration from performance testing to performance engineering. The QA process enhancement ideas of 2018 is not possible to be imagined without this trend in software development. The better application’s user experience is, the higher the chances of market success. A need to provide the best UX leads to the preference of SPE or Software/System Performance Engineering, rather than Performance testing. The consistent performance of an app across different platforms, mobile devices and operating systems should be issued beforehand, not after testing.

New trends in quality assurance testing services raise new challenges for testers, but would also make the development strategy more effective and cost-efficient.

Author:  Jaymin Vyas 

Lesser known tips on BDD testing using Squish

Behavior-Driven Development (BDD) is an extension of the Test-Driven Development approach which puts the definition of acceptance criteria at the beginning of the development process as opposed to writing tests after the software has been developed. With possible cycles of code changes done after testing.

Behavior Driven Tests are built out of a set of Feature files, which describe product features through the expected application behavior in one or many Scenarios. Each Scenario is built out of a sequence of steps which represent actions or verifications that need to be tested for that Scenario.

Some lesser know tip on BDD testing using Squish:

1) Breakpoints in the feature file

When doing BDD testing with the Squish GUI Tester, you can suspend execution using breakpoints not just inside steps(steps.js) which implement your BDD steps, but also in the feature file .

As a developer you want to be able to put breakpoint(s) in feature files so you can debug a feature/scenario/step. It’s possible to do so in Squish. It’s not so obvious since most users think it’s just a text file, but in Squish IDE you can put a breakpoint on any of the steps in the feature file and single step through.

2) Recording missing steps

When recording a BDD scenario, did  you miss some steps? You can record these steps easily.

In the Squish IDE, right click on the scenario missing the implementation.

From the context menu select the option “Record Missing Steps”.

Squish will first execute all the steps which have been implemented until it comes across the step which is missing implementation and start recording.

You can read up more on BDD testing in Squish documentation for each edition at the links below:

Author: Reginald Stadlbauer

Brief Description of Software Testing Traceability Matrix & its types

Traceability matrix in software testing is a report that follows and maps the connection between two benchmark records. This incorporates one with the requirement specifications and another one with the test cases.

As an important tool utilized amid the development of new product, the traceability matrix software testing guarantees fulfillment and transparency of the software product testing.

The software testing traceability matrix assumes a key part in persuading the customer that every one of the needs determined, have been met and there are no escape clauses that are left at the time of software product conveyance.

It more often than excludes segments, for example, necessity, benchmark record reference number, bug ID and test case.

The consideration of these sections improves the task of tracking any necessity made by the customer utilizing bug id.

A portion of the regular parameters that are incorporated into traceability matrix template in software testing is user acceptance test cases, risks involved, unit test cases, requirement type, and description trace to test script,   integration test cases, and requirement ID.

What is traceability matrix in software testing?

The Software Testing Traceability Matrix also called requirements traceability matrix in software testing is a table that is utilized to follow the prerequisites amid the SDLC. It can be utilized for forward tracing or in reverse tracing. There are numerous user-defined templates for RTM.

Every necessity in the RTM record is connected with its related test case so testing should be possible according to the specified prerequisites.

Types of traceability matrix in testing:

Forward Traceability: It is the mapping of necessities to test cases. Guarantees whether we are building the correct product.

In reverse Traceability: Backward traceability is the mapping of test cases to necessities. It offers the advantage of checking whether we are building the software product right.

Bi-directional Traceability: This traceability grid includes both in reverse and forward traceability. Through in reverse traceability, we can guarantee that the test cases are mapped effectively with the prerequisites. Through forwarding traceability, we can ascertain that prerequisites are mapped with the test cases properly.

How to prepare traceability matrix in software testing?

There are just three compulsory steps required to set up traceability for your project. In case you’re willing to go the additional mile and make a fourth stride you’ll have the capacity to help your advantages considerably further.

Step 1: Distinguish your “artifact types of traceability matrix

Step 2: Characterize the relations between those artifact types

Step 3: Make a traceability framework for each connection between artifact types of requirement traceability matrix

Advantages of utilizing traceability matrix in software testing:
  • Make clear to the customer that the product is being created according to the prerequisites.
  • To ensure that all prerequisites incorporated into the Test cases
  • To ensure that engineers are not making features that nobody has asked
  • Simple to distinguish the missing functionalities.
  • In a case, there is a change ask for a necessity, at that point we can without much of a stretch discover which test cases need to update.
  • The finished framework may have “Additional” usefulness that may not have been indicated in the design specification, bringing about wastage of labor, time and attempt.

Additionally, it is critical for the organizations to ensure that every one of its software product meets the highest quality benchmarks and there are no bargains made regarding its quality. Consequently, it is critical to ensure that the traceability matrix is utilized so the conveyance of best quality software product is guaranteed.

Author: TestOrigen Software Testing 

How to Make your Magento Inventory Management System Ready for Your Upcoming Sales?

Distributors in any industry have to carry an extensive amount of inventory and stock that meet the demand of entire customer base. It often happens that Magento store owners wish to take maximum advantage of their upcoming sale or discount campaigns and add more stocks in their warehouses. This process often ends up with excessive load in warehouses and at distributors’ docks. And this is the stage where most of the inventory nightmares take place.

Thus, it becomes important for enterprises to manage the inventory while streamlining the delivery process. You cannot afford to have a scenario of misplaced and damaged products or wrongly delivered orders. In this blog, we will discuss about some practices that can make your Magento Inventory management intact for upcoming sale.

Let us start with the four pillars on which you must pay more attention to get the best out of your upcoming sale. These pillars where your process should lay upon are as follows:

– Timeliness:
All your operations must be time bound and must beat the clock. Make sure that you set up your entire stock and make it ready for the upcoming massive sale orders. It is utmost important that you must deliver product on time without any delay to meet order deadlines.

– Quantity:
It is important to manage your inventory in right proportion and do not go beyond capacity. Keep a track of complete stock through your Magento Inventory Management Software. You should also make sure that all the products listed are available and in the system.

– Quality:
Good quality is of utmost importance! It is important both the ways, if you are manufacturing, it is necessary to produce good. You must also take care of your stock while you manage it and prevent it from damages.

– Documentation:
Proper documentation drives the entire Magento Inventory Management System of yours. Add all the products in your system with proper details and make them easily trackable. Whenever an order received, a well-organized documentation will help you to process the order at quickest.

Once you focus on these core areas of your inventory portions, it will give a good shape to your Magento Inventory Management System. Clubbing these focus areas with some fine practices will help you to organize the whole process that streamline quick and error free order processing.

Some of these best practices that can enrich your inventory system and enable you to execute quick delivery with complete customers satisfaction.

– Assessment of Inventory
It is important to constantly check health of your system and detect the loopholes right before your offer period. Executing regular assessment is also a good practice and helps the enterprises to maintain a good health of their inventory management.

– Clear identification of performance gaps
Obviously, you would never like to face any error and wish to commit mistake to process any orders or to manage your inventory. Thus, it is important to identify performance gaps and bugs in your system.

– Enhanced operational control of processes
It is good to decentralize the power and give more control to employees to enrich you Magento Inventory Manager. Allow them to process the latest orders and escalate them for delivery. This will save time and efforts.

– Streamlined management reporting
Reporting is must. Make sure that you streamline reporting and keep a track of every product and order. Also ensure that your employees are making proper entries of the whole stock. Report must be in a way that admin can track any product, order, and shipment.

Hence, focusing on these crucial most parts of your Magento Inventory Management will streamline your order processing. It will empower you to process mass orders from your upcoming sale campaign/ Some of the major advantages that you will get out of these practices are:

– Consolidated shipments
– Fewer purchase orders
– Fewer expedite orders
– Higher customer satisfaction

So, if you are looking forward to begin up with the new spring season sale or just planning a discount campaign, follow these tips to systemize your inventory.

Author: Maulik Shah

Mobile App Performance Monitoring basics to advanced

With the myriad of apps cluttering our smartphone screens nowadays, it has become all the more important to optimize app performance. While going through your daily routine, you certainly don’t want useful apps hanging up or worse still, crashing abysmally.

In this post, you’ll know how app monitoring performance works so that you can get the best out of your smartphone software.

What is application performance management? 10 APM features that we can tick right off our fingers are:

  • Troubleshooting of disruption of frequent speed and uptime
  • Monitoring of the speed at which transactions are performed by end-users and systems
  • Use of a single integrated suite of software tools
  • Load-testing
  • Synthetic monitoring
  • Real-use monitoring
  • Root-cause analysis
  • Web-performance monitoring, to gauge app speed and uptime
  • An end-to-end overview of bottlenecks
  • Review of service interruptions

APM is integrated through the lifecycle of an application including the pre-deployment and post-deployment stages. It is therefore important for developers, testers, and business teams.
A slow load can be prevalent due to a host of issues related to APIs, servers, or browsers. APM techniques are what help pinpoint the actual problem.

Basic availability monitoring involves testing IP protocols and network services, but a user needs to establish some optimal performance thresholds and real-time alerts to monitor and manage both speed and reliability.

Tips for monitoring app performance

Performance monitoring must take into account certain things in order to optimize user experience. These include measuring from the user’s point of view, i.e. performance, stability, and resource utilization in real time the way the user perceives them.

The context is crucial too. It’s important to determine how many users were affected by a slowdown, and what action on a specific operating device prompted the disruption. To truly experience a ‘mobile moment,’ you should follow these tips for monitoring your app performance:

Measure Frame rendering time

Only measuring network time doesn’t cut it out for users, who are interested in when the network resumes as well as when it responds.

Measuring response time by the device or operating system allows the product manager to focus on one platform at a time, respond to performance issues, and deploy resources accordingly.

Measure battery usage

It’s crucial to measure the battery consumption of your mobile app, along with data plan impact and memory usage. If the app is responsible for draining your battery, you should bring it in line with best practices.

Frequent updates can also be minimized so that user satisfaction can be increased.

Measure cell data consumption

Recent studies by Dimensional Research have shown that 20% of respondents stopped using apps that were heavy on data usage. This indicates that you should measure the consumption by app version, the total number of users, KBs of data consumed per minute, the amount of data being transferred per hit, and the percentage of data being consumed per hit.

Measure errors

HTTP errors from certain URLs need to be captured. This will help track the number of users who received an error, the actions that resulted in it, number of users with errors on app launch, the percentage of actions that led to at least one error, and the app version.

Note: Sign up for free trial to test your apps on real android and ioS Devices. Click Here.

Author: Shankar Anamalla 

iOS Automation with Appium & Selenium

Appium is an open source tool/framework for automating iOS Native and Hybrid Apps. It uses the WebDriver JSON wire protocol to drive iOS apps.

Appium server is written in Node.js and talks to iOS using UIAutomation via Instruments. You can use the Selenium WebDriver API for writing tests which talk to Appium via JSON wire protocol for running the Selenium commands. This also gives you the advantage of writing tests in your language of preference.

Installation

I found installing Appium quite easy on a local machine. You need Node.js installed before using Appium.

1. Install Node.js from http://nodejs.org/

2. Install WebDriver package for Node.js with the following command

sudo npm install wd

3. Install Appium with the following command

sudo npm install appium -g

4. Start the Appium server with the following command

appium &

Appium server will start at http://localhost:4723

Implementing test using Selenium WebDriver

I am using a sample BMI Calculator App developed with native iOS SDK for this example

Bmi Calculator App

Build the app using the xcodebuild command (In this example the BmiCalc app)

xcodebuild -sdk iphonesimulator6.1

I am using Maven to set up a Java project for this test and here is pom.xml with the following dependencies added. For this example, I have used IntelliJ IDEA. For more information on using Maven for Selenium script development refer bonus Chapter Integration with other Tools from my Selenium Testing Tools Cookbook

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?xml version="1.0" encoding="UTF-8"?>
/code>project xmlns="http://maven.apache.org/POM/4.0.0"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    /code>modelVersion>4.0.0</modelVersion>

    /code>groupId>org.bmicalc.test</groupId>

    /code>artifactId>bmi-ios-test</artifactId>

    /code>version>1.0-SNAPSHOT</version>

    /code>dependencies>

    /code>dependency>

        /code>groupId>junit</groupId>

        /code>artifactId>junit</artifactId>

        /code>version>4.11</version>

        /code>scope>test</scope>

    </dependency>

    /code>dependency>

        /code>groupId>org.seleniumhq.selenium</groupId>

        /code>artifactId>selenium-java</artifactId>

        /code>version>LATEST</version>

        /code>scope>test</scope>

    </dependency>

    </dependencies>

</project>

And here is BmiCalcTest class

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.By;
import java.io.File;
import java.net.URL;
import java.util.List;
import static org.junit.Assert.assertEquals;
public class BmiCalcTest {
    private WebDriver driver;
    @Before
    public void setUp() throws Exception {
        //Appium needs the path of app build
        //Set up the desired capabilities and pass the iOS SDK version and app path to Appium
        File app = newFile("/Users/upgundecha/Desktop/AppExamples/BmiCalculator/build/Release-iphonesimulator/BmiCalculator.app");
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability(CapabilityType.BROWSER_NAME, "iOS");
        capabilities.setCapability(CapabilityType.VERSION, "6.1");
        capabilities.setCapability(CapabilityType.PLATFORM, "Mac");
        capabilities.setCapability("app", app.getAbsolutePath());
        //Create an instance of RemoteWebDriver and connect to the Appium server.
        //Appium will launch the BmiCalc App in iPhone Simulator using the configurations specified in Desired Capabilities
        driver = new RemoteWebDriver(newURL("http://localhost:4723/wd/hub"), capabilities);
    }
    @Test
    public void testBmiCalc() throws Exception {
        //iOS controls are accessed through WebElement class
        //Locate the Height & Weight textField by their accessibility labels using By.name()
        WebElement heightTextField = driver.findElement(By.name("Height"));
        heightTextField.sendKeys("181");
        WebElement weightTextField = driver.findElement(By.name("Weight"));
        heightTextField.sendKeys("80");
        //Locate and tap on Calculate button using the click() method
        WebElement calculateButton =  driver.findElement(By.name("Calculate"));
        calculateButton.click();
        //Locate all the label elements using By.tagName()
        List<WebElement> labels = driver.findElements(By.tagName("staticText"));
        //Check the calculated Bmi and Category displayed on labels
        //Label with index 8 has value of the Bmi and index 9 has the value for category
        assertEquals("24.42",labels.get(8).getText());
        assertEquals("Normal",labels.get(9).getText());
    }
    @After
    public void tearDown() throws Exception {
        //Close the app and simulator
        driver.quit();
    }
}

I really liked using Selenium WebDriver API for writing iOS tests with Appium. I can add iOS support to my existing Selenium Framework with minimal changes. Appium presently supports locating elements using the tag name (an i.e type of iOS control) and accessibility labels.

Author: Isabel 

1 2 3 4 5 33