Difference between webSite testing and end-to-end testing - selenium

I would like to know the difference between end-to-end and website test in java web application,If we are testing the features of an website then it could be stated as end-to-end test right?
My second question is if i want to do end-to-end test which the best tool ?
selenium or cucumber ?
I am not able to conclude my self which tool to use.My requirement is as follows
1)Test webapplication automatically by giving the required fields,and also it should interact with my service and database for retrieving information in my UI.
Please help me.I am sorry if its a stupid question !!!

Answering all of your questions one by one :
End-To-End Testing : End-to-End Testing is a testing methodology which is used to validate whether the flow of an application is performing as designed from start to finish.
Website Testing : Web Testing is the name given to the software testing methodology that focuses on web applications. Website Testing can be catagorized as Basic Functionality Testing of the site, Security Aspects of the Web Application, Accessibility to intended users and Performance Aspects as well.
Best Automation Tool for End-To-End Testing : Each and every automation tool have its advantages and disadvantages. Selenium-Cucumber is one of the widely used combination for Behavior Driven Development (BDD). But as a pure End-To-End Automation candidate Protractor is widely used.
Overall using Selenium you can perform Web Application Testing by giving the required fields and also interact with the services and data retrieved from database on your UI.

You're quesiton will probably be removed from here since it doesn't fit the standards stack overflow requires but here's an answer in case it sticks around.
End to end testing concerns program flow from start to finish. If you have a system that is solely a website then they could be considered equivalent. If your project has a website and runs batch processes in the background, sends emails, etc. based on data entered into the website or actions users of the site take, then they're not really equivalent because testing your website isn't going to test that the mail server is configured properly or that your nightly batch runs properly.
There is no single tool to handle end to end testing. At best you'll have an amalgamation of various tools to handle testing but more than likely there will be some manual testing involved - it's all going to depend on your application.
You could for example: script selenium to enter orders into a site, then have a scheduled console application run overnight that verifies the end of day accounting handles the orders properly, you would manually check outlook to verify you received your order confirmation, and then come up with a way to verify the orders get sent to the fulfillment system.
As you can see by the example for that use case you're unlikely to find a general purpose tool that can handle all of that out of the box.

Related

How to test frontend app step by step by scenario?

We have a web project and the main business flow is going through the chain of processes (conveyor). We don't have any automatic tests for front. So, to test we use our "hands".
What I want to do is to create some auto test that goes through every step and every window that I do always using hands from my browser.
Any suggestions?
P.S. I don't have an access to frontend app. All I have is the running app on my browser :)
In my experience with quizzes/wizards, such using gamification logic and transitioning from screen to screen - I had to properly plan my efforts.
test that goes through every step and every window
Is easy to go way overboard with all possible paths, resulting in combinatorial explosion. As general advice, try limit the really critical scenarios and cover first those. It is quite likely that the conveyor engine, follows same basic (business) rules and just combines them to produce the flows. In other words, bugs are most likely to be found in the codified domain logic, than the mechanics behind them.
Since this is an Angular app and we all know how pesky Selenium is with it. I would go with Protractor as it is built to handle
native events and browser-specific drivers to interact with your application as a user would
and
supports Angular-specific locator strategies

How can we handle recaptcha in Jmeter?

I am trying to submit the form which has text values and recaptcha for security reasons. How can we handle recaptcha to submit the form using Jmeter?
Any help!
CAPTCHA is an acronym which stands for
Completely Automated Public Turing test to tell Computers and Humans Apart
So most probably you will not be able to do this quickly and easily
reCAPTCHA is a Google service which is yet another implementation of the Turing test. Your JMeter test must focus solely on your application features, 3rd-party services, images, scripts, etc. must be out of the scope, in other words you must exclude external resources from your JMeter test
So I would recommend asking your application developers or devops to turn off the CAPTCHA challenge for the duration of the load tests (or for the test environment in total) as it does not add any value, just makes automated and load testing almost impossible.
Just in case you're a Google engineer load testing reCAPTCHA - you can use machine vision libraries like OpenCV in conjunction with neural network implementation from JSR223 Test Elements in order to recognize the images do what is needed to bypass the challenge. Just be aware that one of protection mechanisms checks will not allow to pass the CAPTCHA if you react too fast which is not compatible with load testing at all.

What are the design patterns for Rest API automation using java

I am a new to REST API automation project, as part of that I have learned using jayway rest assured instead of jersy client. Now, the problem is I am able to use protocol methods and getting response to parse and checking required data is not.
Now,
I want to explore more to implement project setup like a pro, by using structured java classes or by using any class designs.
I want to use this project for load testing
I want to learn parameterization, i.e., First request's response may be input to 4th request (ex: login token id used for subsequent requests)
I also want to know how to feed data as input from external files
Note: I have searched for sample projects on other channels but they are not as per my requirement and I spent time to understand those project but going over my head, couldn't able to understand their style of implementation :(
Well, there are several things that you need to learn/understand:
It is not about design patterns, them you should learn in any case to consider yourself as a good developer or software engineer in test
REST Assured - is indeed for API testing, yes, but not the best
choice, or even, is the last choice for load/performance testing
Haveing request based dependencies, more sound like component testing or end-to-end testing which is usually also the last choice
and have to be as minimum as possible
Load/performance tools that you can choose and learn by your preferences are (not a full list, but ones that I used to use)
Blazemeter
Gatling
Jmeter

Jubula Automated Function Testing?

I am new to Jubula.Struggling hard to understand the flow of Jubula.I have installed the standalone application of Jubula(Version:8) in windows.I am finding tutorials to test java RCP application but I need to test a Website.Is it possible to test web sites using Jubula?
There isn't a tutorial for testing a website at the moment. However, once you've understood how tests are created in general, the steps are the same for testing a web application.
The one main difference is that the object mapping is performed via click instead of via key combination. Relevant documentation is here and in the reset of the user manual and in the reference manual:
http://help.eclipse.org/mars/topic/org.eclipse.jubula.client.ua.help/content/html/userManual/toolkit/webAUT/webaut.html?cp=45_3_5
I'm assuming that you've found the "cheat sheets", which take you through the steps and workflows of working with Jubula? If not, they are under "Help/Cheat Sheets" in the application.
The Jubula forum is also a good place to ask questions:
http://www.eclipse.org/forums/index.php?t=thread&frm_id=208

What's the simplest/easier way to do a health check/smoke test in an internal web app?

I have an intranet web application and I would like to do a simple health check/smoke that runs once an hour to make sure that everything is how it is supposed to be.
The tests are supposed to do some requests and check response for text and in some cases do one or two POSTs to see if the application in answering like it should.
I thought about using Selenium or Visual Studio's WebTest and schedule the run via CC.NET or another CI application but seems like a big shot for a simple thing.
Any ideas?
Thanks
Selenium is a good option. So is PhantomJS.
I dare to say that SWAT could be a good choice for you. It does exactly what you say - makes various http calls and check data returned, also it is possible to pass the test results to different report systems, using TAP format which swat is compliance with. And finally there is a simple DSL to write such a checks.
Regards, the author.