This fall the South Carolina Drupal User’s Group started using Zoom are part of all our meetings. Sometimes the technology has worked better than others, but when it works in our favor we are recording the presentations and sharing them when we can.
Chris Zietlow presented back in September about using Machine Learning to Improve UX.
We frequently use these presentations to practice new presentations and test out new ideas. If you want to see a polished version hunt group members out at camps and cons. So if some of the content of these videos seems a bit rough please understand we are all learning all the time and we are open to constructive feedback.
If you would like to join us please check out our up coming events on Meetup for meeting times, locations, and connection information.
Visualise yourself getting involved in a social experiment (and you are oblivious of your involvement). You are walking down the street and find cash on the sidewalk. You get drowned in different thoughts as to whether casually pick it up and slip it inside your pocket or just plod away as if you haven’t seen anything or just take it and give it to someone needy. Supposing you have chosen the second option, you, then, realise that it was a social experiment as some guys come towards you appreciating your character.
Diving into Automated testing
Sometimes life gives you such opportunities without even giving you some sort of prompt where you are automatically tested for your behaviour. Speaking of an automatic test, there is a different sort of automated test involved in the digital scene but has a lot of significance. Adding test coverage to your website and application can be very fruitful. For instance, you can ensure that requirements are met and avoid regressions from happening. One of the many approaches for testing is Behaviour Driven Development (BDD). As one of the leading open source content management systems, Drupal enables you to imbibe automated testing through tools like Behat in your website.
Automated testing is a process that involves pre-scripted tests which are run automatically. Their function is to compare actual results with expected results that help in determining if the application works as expected. It can help in executing iterative tasks and regression tests to verify if an application works correctly after the newly implemented alterations.Automated testing is a process that involves pre-scripted tests which are run automatically.
On the contrary, manually testing involves quality assurance specialists who need to verify that the applications are working properly by following conditions written in test cases. In spite of its primitive nature, it is still very significant in cases like wearables and mobile devices that may need field testing in a physical environment.Source: Gear Inc
Automated testing saves a lot of time by reducing the time to run repetitive tests which, in turn, saves money. It vastly enhances your test coverage. Lengthy tests that are, most often than not, avoided in manual testing can be run unattended. It also improves precision by performing the same steps precisely whenever they are executed and never misses from recording detailed results. It can simulate tens and thousands of virtual users interacting with a network, software and web applications. Moreover, shared automated tests can be leveraged by developers to detect problems quickly before sending to QA.Automated testing in Drupal
Drupal 8 core testing framework comes with numerous automated testing options. To ensure the quality and reaction of code on edge cases, testing can be performed in different layers:
- To test class methods, you can write Unit tests which constitute the process of testing the discrete parts or units of a software project. PHPUnit can be leveraged in this case.
- For testing module APIs, you can write Kernel tests which are basically unit tests on steroids.
- You can also adopt functional testing where software testing is performed for detecting the actual performance of an application’s functional requirements. Functional testing is great for accuracy, interoperability, compliance, security and suitability.
- There is also the possibility of utilising an external framework like Behat with scenarios in gherkin syntax.
Behat is an open source Behaviour-driven Development framework.
Behat is an open source Behaviour-driven Development (BDD) framework, as stated in the official site of Behat, and helps in supporting the process of delivering software that matters via perpetual communication, deliberate discovery and test automation. BDD is a way of building software through continuous interaction with stakeholders in the form of examples like what help would a particular software be offering to them and you for attaining your goals.
Behat was created for PHP and is a spectacular PHP library to the core with its codebase leveraging a superabundance of Symfony components, strictly adhering to coding standards, and comes out on top in major static analysis tools. Moreover, Behat has superb extensibility as almost all of its functionality could be enhanced or replaced via a magnificent extension system.Behat for Drupal
There is a provision for a Drupal extension that offers an integration layer between Behat, Mink Extension and Drupal. For the starters, this Drupal extension can be enabled using Composer followed by the creation of behat.yml file in the projectdir. You also get to add your features files to the features directory of your repository that contains human-readable steps to test something.
By describing the behaviour of a site in plain but stylised language followed by the process of turning that description into an automated test, Behat and Mink come in very handy. These functional tests enable the site builders to ensure that the added value that is created while building a Drupal website keeps on behaving as per the expectations even after alterations are done to the website like security updates, changes to custom code among others.
This Drupal extension helps in setting up test data using Drush or the Drupal API in addition to defining theme regions and test data that appear within them. It also assists in clearing cache, logging out and other such significant steps. Moreover, it is an astronomical solution for detecting and discovering steps offered by contributed modules and themes.Case study
Global Canopy Programme wanted to retrieve the news syndicated from a plethora of public sources, govern it through an internal application followed by resyndicating it to numerous public-facing sites. For this, it leveraged the power of Drupal with the help of a digital agency to build this application called Forest Desk. They followed the paradigm of BDD that was beneficial for each piece of functionality and could be embedded in the Scrum process.
Behat was meritorious for testing whether the functionality has been built correctly. It turned out to be an essential tool for testing comprehensible action on a website like clicking links or hitting submit buttons. Behat’s knowledge could further be extended using custom PHP code thereby leveraging it to understand RSS which is the format for syndicating content on the web.Behat’s knowledge could further be extended using custom PHP code thereby leveraging it to understand RSS which is the format for syndicating content on the web.
The RSS standard was utilised for syndicating data and Drupal’s Feeds module was very beneficial in consuming this standard from remote websites and modules like Views helped in repackaging it for consumption by other sites. Furthermore, the Adminimal theme offered an immaculate administrative design.
For developing each feature, once its scenario was specified in Gherkin syntax, Features module was leveraged. This helped in altering the configuration and save the changes and return to the previous state of configuration in case any BDD test no longer works.Conclusion
Behat is a great tool for enabling superfast and efficacious automated testing in Drupal development.
Offering stupendous digital experience with our suite of services to our partners has been our supreme goal.
Contact us at email@example.com to get the best out of automated testing through this wonderful tool - Behat.blog banner blog image Behat Behaviour-driven Development Drupal Drupal 8 Mink Automated Testing Blog Type Articles Is it a good read ? On
Girish Mathrubootham launched his startup Freshdesk, a software-as-a-service (SaaS) venture, with Shan Krishnasamy in a small conference room of his friend’s office. Its staggering growth in a short span of time coerced them to move to a suburb and convert a warehouse into an office. Subsequently, they went on to have a proper office. With a humongous rise in stature, they had to literally break the walls to expand its workplace. ‘Breaking the walls’ represents the swift growth of this SaaS-based firm.
Origins of SaaS
Source: Process Street
Such is the significance of the SaaS model that it can enable the enterprises to emphasise on business outcomes rather than working around technical limitations. SaaS clients relish the quicker and flexible deployment and frequent automatic updates to increase the pace of innovation. SaaS standardisation simplifies Research and Development and uncloaks new collaboration and sharing potential. SaaS-based business applications promise faster time-to-deploy and an agile, incremental approach for attaining business goals. Drupal, as an open source content management framework, can be very beneficial for building SaaS. Before exploring Drupal’s power in building SaaS, let’s traverse the origins of SaaS briefly.
An interesting compilation by Process Street delineates the history of SaaS and takes us back to mid-twentieth century. It states that IBM was the 1960s SaaS company and IBM 360 Model 67 provided processing power to many organisations. Computers were not as powerful as we have today but this allowed them to have the data and power hosted in a different physical location to the one they are being used in.
The ‘70s and the ‘80s are touted to be the time period when pre-SaaS architecture grew. This was the time when first ever CRM (Customer Relationship Management) called ACT! was developed. This was also the time when Great Plains Software emerged in the market which was later acquired by Microsoft and turned into Microsoft Dynamics.
SaaS-based firms like Salesforce, NetSuite, and Intacct established themselves in the 1990s. Moreover, inefficacies in Application Service Providers (ASP) gave further push to the growth of SaaS. As a matter of fact, Salesforce was the gamechanger in the SaaS business. Eventually, SaaS has gone on to become a proven business model and it is one of the most sought after solutions among the enterprises today.A quick look at SaaS Source: Microsoft
Gartner defines software as a service (SaaS) as software that is owned, delivered and managed remotely by one or more providers. The provider delivers software based on one set of common code and data definitions that are consumed in a one-to-many model by all contracted customers any time on a pay-for-use basis or as a subscription based on use metrics. Biggest SaaS organisations today include the likes of Salesforce, Microsoft, Google, Adobe, Amazon, etc.Software as a service is a software that is owned, delivered and managed remotely by one or more providers.
SaaS helps you in gaining access to intricate applications. You do not have to buy, install, update or govern any hardware, middleware or software for offering SaaS apps to the users. Complex enterprise applications like ERP (Enterprise Resource Planning) and CRM are made cost-effective by SaaS. This is advantageous for the organisations that have the dearth of resources to purchase, deploy and handle the required infrastructure and software themselves.
By paying for only what you use, you wind up saving superabundance of money. Furthermore, you can run most SaaS apps directly from the web browser without having to download and install any software albeit few apps that require plugins. It streamlines the process mobilising your workforce and with the data stored in the cloud, you can access the information from any internet-connected computer or handheld device.Drupal for SaaS
Suppose you already have a SaaS product, you can use Drupal to build the website and market your product. Drupal’s tremendous features for content governance and e-commerce can be an astounding solution to take your product to an unprecedented reach.
Can I use Drupal to build a SaaS? Yes, you can also build a SaaS solution utilising the powerful capabilities of Drupal. Governments are required to confront a plethora of social determinants that affect healthcare outcomes and overall spending. An agency talked about building a Drupal SaaS solution in a session hosted by Drupal 4 Gov for connecting citizens with services.
Drupal turned out to be an astounding choice because of its immaculate content workflow, extensibility and interoperability.
The State of Idaho innovatively compiled both government and community services through a single platform and simplified the process of assisting citizens to avail the right sort of services through its ‘Live Better Idaho’ program. Drupal turned out to be an astounding choice for building this platform because of its immaculate content workflow, extensibility and interoperability. Amazon Web Services was also leveraged for its great scalability.
Civiserv, a Drupal-based citizen portal which is focussed specifically on powering the delivery of social and health services by state and local agencies, came in very handy for building ‘Live Better Idaho’ program. Offered as a SaaS product, it comes as a configurable virtual assistant that helps to bridge the gap between target audiences and the services that they need the most.
A lot of developmental effort was put into creating means testing. To improve personalisation factor, user accounts were integrated that allowed users to set up accounts and preserve their searches and favourites within the site. In addition to this, email signups and text alert functionalities were added so that notification was sent to the user whenever new content is published or any new event is added. For efficacious tracking, reports could be seen to find out the number of referrals that were being generated or the most popular service among users.
The session also presented a demonstration which showed the platform having simple navigation of services under different categories like financial, healthcare, food and nutrition among others. In addition to this, a conventional search box could also be utilised for finding the relevant services. The means testing was demonstrated through the ‘Tell us about yourself’ option where you need to enter particulars like your age and monthly income and the results pop up showing relevant services. The results could be further narrowed down by choosing particulars like ‘within 5 miles’ or ‘Teen: 13-17 yrs’.What lies ahead for SaaS? Source: FinancesOnline
SaaS will be powering almost 80 percent of the business workflows by 2022 as can be seen in the graphical representation below.
Moreover, Wikibon’s 2018 Cloud Markets and Trends report states that the largest segment of the cloud industry is SaaS and will grow to $346 billion at a CAGR (Compound Annual Growth Rate) of 25.9%.
A report on Transparency Market Research states that CRM is registering the highest demand for SaaS solutions. ERP and the collaborative solutions segments will pick up the pace by 2022. The increasing trend of e-commerce, infrastructural growth and increasing customer support services will accelerate the use of SaaS solutions. HCM (Human Capital Management) is slated to be registering quickest growth in the demand for SaaS solutions at 32.90% CAGR in the forecast period of 2015 to 2022. The rise in the need for smart and talented workforce in organisations across the world is the reason behind this growth.Conclusion
SaaS is great for digital businesses as it fosters a quicker, more agile approach to application deployment and is an integral component of any digital transformation project that is prevalent in a plethora of application portfolios.
Drupal can be a quintessential solution for delivering a SaaS offering with its fantastic content workflow capabilities.
We are perpetually committed to delivering an amazing digital experience to our partners through our suite of services.
Ping us at firstname.lastname@example.org and let us know how can we help you achieve your digital transformation goals.blog banner blog image SaaS Software as a Service Drupal Drupal 8 Application Service Provider ASP Customer Relationship Management CRM Enterprise Resource Planning ERP Human Capital Management HCM Blog Type Articles Is it a good read ? On