Monday 21 March 2016

Happy Selenium

  • Why the Name Selenium?

It came from a joke which Jason cracked one time to his team. Another automated testing framework was popular during Selenium's development, and it was by the company called Mercury Interactive (yes, the company who originally made QTP before it was acquired by HP). Since Selenium is a well-known antidote for Mercury poisoning, Jason suggested that name. His teammates took it, and so that is how we got to call this framework up to the present.




                              
  • Why first crush of Automation Engineer is Selenium?



The Selenium is a portable software testing framework for web applications.
Primarily, it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should!) also be automated as well.
Selenium is not just a single tool but a suite of software's, each catering to different testing needs of an organization. 

  • Do you know selenium very well?

 

  • Selenium Integrated Development Environment (IDE): Allows you to record, edit, and debug tests
  • Selenium Remote Control (RC) : Allows you to write automated web application UI tests in any programming language against any HTTP website using any mainstream JavaScript-enabled browser.Selenium 1, refers to Selenium RC.
  • Selenium Web Driver: Allows writing automated tests of websites. It aims to mimic the behavior of a real user, and as such interacts with the HTML of the application.
  • Selenium Grid : Allows you run your tests on different machines against different browsers in parallel.
  • Selenium 2 : Selenium RC and WebDriver are merged into a single framework to form Selenium 2. It has object-oriented APIs from WebDriver and interacts with browsers. It supports a wide range of browsers and multiple language bindings. It can write tests in Java, C#, Ruby, and Python. Selenium 2 also offers a headless driver based on HtmlUnit, which is a Java framework for testing web applications. 

  • Two big player met @ party? 

Parameter
Selenium
QTP
Licensing Cost
It is open source. So, there’s no licensing or renewal cost for this tool. It’s free of cost.
User needs license for QTP which is very costly.
Operating System
Selenium supports more number of OS like Windows, Linux and Macintosh.
QTP supports only Windows.
Actual End-user Simulation
Selenium performs actions in the background on the
browser i.e. user can execute tests with the browser minimized.
QTP executes scripts equivalent to a person performing those steps manually on the application. So, browsers can’t be minimized (user cannot perform any other action on the machine while test is running).
Browsers
It supports IE, Firefox, Safari, Opera and few more.
It supports only IE and Firefox.
Script Development Language
Scripts can be developed in any of the languages like Java, Ruby, Python, C#, Perl, Groovy and many more.
Scripts can be developed only in VBScript or JavaScript.
Test Development Environment
Test scripts can be developed in various IDEs like Eclipse, Visual Studio, Netbeans etc.
Test scripts can be developed only in QTP.


  • Why Selenium Rocks? 
  


Same Test Script can run on Multiple Web Browses :
Many times QA Engineer have to write several test scripts to check performance of web application on different browser. Using selenium tester can write test script once and run it on multiple browsers.


Option to Choose Programming Language :
Many times tester needs to write test scripts in different languages depending on automation tool. Selenium allows tester to write test scripts in any language depending on their expertise and technical expertise.Many languages are supported including C#, Java, Perl, PHP, Python and Ruby.


open source, freeware and portable tool :
Selenium is open source,freeware and portable tool. It supports many operating systems like Windows, Macintosh, Linux, Unix etc also it uses very less CPU and RAM consumption for script execution.


Framework support :
TestNG and JUnit are the popularly used frameworks, and these could be used for your Selenium testing along with the choice of Java as your programming language. For other languages, frameworks such as NUnit, Behat + Mink, unittest, pyunit, py.test, robot framework, RSpec and Test::Unit are also supported.


It is evident that Selenium offers a range of options to testers and to organizations, and can be used in a variety of configurations with a change in browser, platform, programming language and testing framework. It is no longer necessary to learn a new language just for automating your test environment; neither do you need to be limited by the browser and platform dependency of some testing solutions


  • I am falling love with Selenium? 


After learning SELENIUM, I realized that automated tests run fast and frequently, which is cost-effective for software products with a long maintenance life. But before starting automation tester should decide what tests to automate first, their value vs. the effort to create them needs to be considered. Test cases with high value and low effort should be automated first. Accordingly I divide my project into automation test cases and manual test cases which really helped me in timely releases of project with system’s stability and functionality.
Selenium helps same test scripts to run on multiple web browsers by which I tested performance of web application across different browsers.
Really Selenium is best testing tool for automation and very easy to learn.
  
Straight from the Woxiprogrammers desk 
By Jayati Lakade


Wednesday 3 February 2016

Why Laravel is so Awesome?


Laravel 5 is one of the most leading and popular PHP frameworks among the Web Artisans. It is a latest and best web application framework with advanced query syntax  that makes web development simple and rapid by enabling general tasks that will be used in the majority of web projects such as route, queue, sessions, caching and authentication.

The success of Laravel can certainly be attributed to its features. A majority of PHP developers are using Laravel, and the number is continually growing, owing to a large section of developers switching over to this framework. Launched in 2011, Laravel has surged ahead of its competitors and tops the 2015 charts as the leading PHP framework.

This framework is an open source web application framework. It follows the Model-View-Controller architectural pattern. Using this pattern, user interfaces can be implemented. The MVC design pattern has a model(responsible for maintaining data), view(responsible for generating a user interface), and controller(a link between model and view, and sends commands to both) as the components. Famously known as "fullstack" framework, Laravel can manage database, web serving, HTML generation, etc. Also, at a time when not many frameworks provided features like, support for user authentication and authorization, Laravel has done it.


Eight top features of Laravel that make it the most popular framework


View composers:
They are class methods or callbacks which are called when a view is rendered. View composer helps in organizing logic into one location.Using view composers, one can bind data to view without the need for code duplication and there is no necessity of manual attachment of data.

Blade template engine:
The Blade is a very simple and powerful template engine with all the tools. Template inheritance and sections drive the blade. ".blade.php" extension. This default and inbuilt template helps in saving more HTML code writing.

Artisan:
In Laravel, Artisan is the name given to command line interface. Artisan offers a wide range of commands in the course of application development. "List" command can be used to view all the artisan commands.


Routing system:
Routing in Laravel is very useful and helps to control HTTP mechanism of the application. Static page handling, passing parameters, group routing and 404 page management can be easily done in Laravel.

Event broadcasting

In Laravel5.1 programmers can find a new tool for broadcasting events out to Pusher.com. Instead of Pusher.com, developers can resort to the Redis based Socket.io too. Pusher.com and Socket make use of web sockets to establish a connection with the user’s web browser directly. It enables programmers to push an event straightly to the user instead of reloading a page many times. The 5.1 version comes out with a Should Broadcast interface and a much refined Broadcast On method for adding the flexibility of broadcasting events.

Passing of parameters to Middleware

One of the main difficulties that occurred while using Laravel 5 was the passing of parameters to the Middleware. The route filters in Laravel 5 were not well set to handle the passing of parameters to Middleware. With the modifications done to the base codes, Laravel 5.1 has been improved to take parameters passed to the Middleware as well.


Renovated Integration Testing

Integration testing is done to find out errors in the functioning of an application as an integrated unit. The new version of Laravel showcases immense emphasize in offering the best classes and methods to do integration testing of applications in the form of Model factories, Database Migrations, and Database transactions. This version even offers programmers to enable testing without Middleware Trait operator as well. Now the classes and methods will seem much shorter, and effective in Laravel 5.1 with superior features.

Long time support & other random updates

5.1 will be the first version of Laravel to offer a long time support. Adding to the core, this new framework has options to exclude routes from CSRF Middleware, run third party scripts without SSH, and some Elixir improvements to help better compiling of ECMA Script6.


Laravel also winner of Best PHP Framework Around the World in SitePoint Survey 2015

 
Straight from the Woxiprogrammers desk 
Sagar Acharya

Tuesday 30 September 2014

Hiring first set of team for Startups





The cost of hiring someone bad is so much greater than missing out on someone good.
- Joe Kraus






Hiring is a big challenge for startups, and staff tends to be small, one bad apple can spoil whole bunch. A multinational company puts lots of money for recruiting a proper staff. Their HR department & technical department put a lot of efforts for recruiting process.  And it is absolutely required. At the end what you are building is a base each and every time. A good team are the foundation stone for any companies. If you have good foundation your growth rate is always high.

Hiring process is just of three steps, “One advertising for opening, second Interviewing and third selection”. But now a days it will be modularized into couple of steps. And why is it required? Because companies want to invest less time for recruitment, less resource to be used & hence they outsource most of the process. But at the end what they want are good people who will eventually create a great team. They know it that

 “a single man can reason for winning single match or couple of match but a team can be a reason for winning whole tournament”. 


But 


If you look at Hiring for startups all things and scenarios should be different. In startups first of all team should be small, lots of dependency on each other, no restriction for any particular work, hard deadlines, each and every day challenges for employees and management team. In this type of dynamic situation hiring strategy plays a vital role. Really it is very important. If you chose wrong people,  he/she will drain the right people. So be aware while hiring.





Some of the points I have to share with you all here,

  1. Have Hiring model – Don’t rush the process.
  2. You have to invest 15% of time  for recruiting.
  3. Don’t stick with just IQ, also consider EQ & CQ.
  4. Consider all aspects minutely.
  5. Challenged-based interviewing.
  6. Hire Doers.
  7. It’s better to say “no” to right one than say “yes” to bad one
  8. If Good than Good, If Bad than 100% bad.
  9. Hire who can easily fit in your culture.
  10. Use Proof-in-the-pudding principle.
 
Keep the above points in your intellectual bucket and all the best for hiring first set of team.




The secret to successful hiring is this: look for the people who want to change the world. - Marc Benioff



”If you enjoyed this post, I’d be very grateful if you’d help it spread by emailing it to a friend or sharing it on Twitter or Facebook”.



Next I’ll post my insights in Best way to do Programming.



Straight from the CTO’s desk 
Bharat Makwana


Monday 21 October 2013

Unveiling of WOXI logo



“Well-designed logos are the work of the designers. Successful logos imply the company’s use of the logo. A mediocre logo in terms of design quality can be used to good effect through a great mix of consistency and variation. The Coca-Cola logo is not, and never was, an outstanding design. However, it has been used with great ingenuity.”
— PER MOLLERUP



If you ask an expert he would say, “A logo doesn't necessarily need to say what a company does”.Restaurant logos don’t need to show food, dentist logos don’t need to show teeth, furniture store logos don’t need to show furniture. Just because it’s relevant, doesn’t mean you can’t do better.

The Mercedes logo isn’t a car. The Virgin Atlantic logo isn’t an airplane. The Apple logo isn’t a computer.

What constitutes a 'good logo' to some may not resonate with others. A logo may not be technically well-designed, but has a rare quality or high visibility that represents the brand to the consumer better than anything else.
A good logo has a point of view, is well-designed and creates a visual calling card for the company or service it represents. It needs to have enough versatility to work in many situations and venues and is visually engaging.
Combined with good branding design, the logo comes to life and represents not only the company or service, but becomes the key component in the brand.

Such is the trend now-a-days that people believe in following the pack as far as conceptualization of logo is concerned. Little do they realize that where your brand identity is concerned, your vision is the key.

Beginning of A Journey...
Keeping all these points in mind, we started this interesting journey to craft a logo for our company by narrating our vision to various designer teams.We worked with many designers who had their signature styles & instead of complimenting the brand they overshadowed it. Ability to select the right font can make or break a logo mark. The type sets the mood or compliments the visual. If the typeface isn't quite right, then the designer has to know what will make it right.

Remember, things might not always work out as you hope. We could already see how teams crafted some of the designs. The designs were really cool but somehow they did not match our expectation. So we finally decided to work around the core problem at hand & focused on clearing concept behind logo so we could express better.

Picasso started somewhere...
You don’t need to be an artist to realize the benefits of logo sketching. Ideas can flow much faster between a pen and paper than they can with a mouse and monitor.That is what we just did. We literally sat down with a pencil & eraser (turns out to be the most useful thing you have in these situations if you’re bad at sketching)& after 15-20 cycles of draw & erase we came up with something.

Strong logos have one single feature to help them stand out.


Not two, three, or four.


One
We integrated all our team energy on designing this single feature & I guess we succeeded in our approach.





“You should be able to cover up the logo and still identify the company because the look and feel is so distinctive.”
 — M I C H A E L    B I E R U



 We hope you like our logo & the programmer inscribed inside the ‘O’ turns out to be the one standout feature which sets our company logo apart from the rest.

”If you enjoyed this post, help it spread by emailing it to a friend or sharing it on Twitter or Facebook”.

Next week I’ll post my insights in Hiring first set of team for Startups.

Straight from the CTO’s desk
  Bharat Makwana