Using Behavioral Driven Development in Automation Framework [closed] - java

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I have an experience of developing Automation frameworks using Selenium Web-driver,Java and TestNG/ Junit. In my Automation frameworks I used to simply automate the manual test cases and the manual efforts of testers.
Now I have been assigned a Task where i need to develop the Automation Framework using Behavioral Driven Development.
What are the things I should know before i start BDD in Automation frameworks
&
What will make my framework different from my previous frameworks?

What are the things I should know before i start BDD in Automation frameworks
I will consider that you know how to work with BDD, so I'll stick literally to what's in the question.
First you must consider the roles and the people you'll engage in this BBD automation framework. If they're all technical people or if there are mix of technical and non-technical people involved in defining the scenarios and examples.
Then you must consider the scope of your automation tests. What will they test: web only? desktop browsers, apps, mobile browsers?
Do you have a test-launching language preferrence ?
Once you have the answers to that, then you'll have to look for a really important thing to look for when promoting BDD: tooling.
The non-technical and technical skills of your co-workers will have a great impact on the tool which will connect the tests specificacion to test implementation. There are many tools and some require less to more technical skills (althought they are simple): DaSpec, JBehave, Cucumber, calabash, BeHat... There are many and you must look for the one best fitting you company.
And then the scope will give you the other tooling you'll need, If you want to test only on desktop browsers, Selenium the de-facto standard for this. If you want to go mobile too selenium has support for that, but you'll need additional tooling like Selendroid and/or Appium. For native clients automation there are manny alternatives too, a quick search here or google will spit a lot of results.
Once you have made your choices. The next step is to measure the impact of BDD methodology on your company, the best bet (in my short experience with BDD) is to start with a project which has loose requirements if any. BDD could shine with that. You'll have to measure that in the first stages BDD has a steep ramp of effort as you put down your infrastructure and code and the first teams to work on it.
When you have the infrastructure and some initial code. The thing is to start with the BDD liturgy and accomodate that on your project's liturgy. Please be very helpful and be open to the opinions of everyone.
What will make my framework different from my previous frameworks?
I don't know if you're asking about an automation framework or your company's framework, sorry :(

Related

Learn Spring Boot based on Kotlin or Java? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 1 year ago.
Improve this question
Background:
Around next year I will finish university and wanna learn some skills that help me in the industry. For that, I choose to learn Spring Boot, cause I currently like the JVM environment and already have "ok´ish" knowledge in Java and Servelt/Tomcat. In addition, I got some basics in kotlin through app development, so I know that I like both Java and Kotlin.
Question:
If I got it right, Kotlin is the first class citizen in Spring Boot now, but the industry is really slow in adapting new technologies.
So if I learn Spring in Kotlin,
can I easily switch to Java Spring?
do companies care?
do I miss out on other, more important skills that I can learn instead?
Thanks in advance for every input :)
Gretings Pascal
So if I learn Spring in Kotlin,
You will learn Spring, using Kotlin. Spring is a JVM framework, the API you will interact with is the same in Java or Kotlin.
can I easily switch to Java Spring?
You can even mix Kotlin and Java in the same project and it will work, however I do not advise doing so. It's also possible to translate from Java -> Kotlin (IntelliJ does this if you paste java code in a .kt file!) or Kotlin -> Java, however the output code is not very nice :)
do companies care?
You should ask this to your superiors, it depends a lot on the company policies. In general, Java has a much bigger market specially for big companies which move slow and are afraid of changes. Kotlin is mostly sought for Android development, on which Spring is not recommended.
Nevertheless, if you already know Java and just are interesting only in learning Spring I suggest you use Java for this.
do I miss out on other, more important skills that I can learn
instead?
I'm also a Java and Kotlin programmer for the backend and I can say that the Kotlin opportunities are mostly for Android development, it's odd to find roles for Kotlin backend development.
If you're looking to prepare for your first job I'd say don't worry on learning a new language, Java has a lot of opportunities. I suggest you focus instead on learning the other important aspects of development (databases, cloud services, containers, testing, software engineering, networking, etc.) those will be far more valuable than knowing two very similar programming languages.

How to choose best automation Tool combination with selenium [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
It might be opinion based question but I am really confused about choosing automation tools combination.
Till date I have been using Selenium webdriver,maven and Java to build automation frameworks. This seems totally working fine.
Now a days I feel that many automation engineers moving to use of WebdriverJS , WebdriverIO, NodeJS etc.
Someone told me that if we build automation framework using WebdriverJS/ WebdriverIO/NodeJS, Then execution will be faster than Java.
I know that I should choose tool based on my requirements but at the same time I feel that we can not use WebdriverJS/ WebdriverIO/NodeJS in some kind of website where all elements must be located by xpath as most of elements changing class / id dynamically.
So If anyone can just give me hint about which tools to choose for which kind of website then it would be really helpful. i.e For AngularJS website Node.Js is fine for automation with selenium.
As per the Selenium Official Webpage, Download Section, you can see in the Selenium Client & WebDriver Language Bindings section the following are listed :
Java
C#
Ruby
Python
Javascript (Node)
So from my personal take would be, these 5 variants which are the most widely used Selenium Clients while dealing with Automation Framework with Selenium
Documentation
Leaving aside Selinium's GitHub ducumentation, its pretty clear majority of the documentation available on internet is on Selenium (Java). It's because of Java's world wide popularity as a Language. So learning becomes easier.
Even the frequency of Selenium (Java) Client Releases would support my native view.
But, personally I have found Selinium's GitHub Documentation for all the client bindings are perfect and precise.
WebdriverIO
WebdriverIO is another variant of the Selenium Release. No doubt the WebdriverIO team have played it hard in building up the catch-up game with the Selenium Client Releases. But my take would be WebdriverIO is still evolving.
Functional Perspective:
From a functional perspective my take will be either on NodeJS or WebdriverJS. Reason is simple I still feel the Selenium-RC way is still in practice when we inject javascript into the Web Browser once the browser loads completely and then use its javascript to drive the Application Under Test within the browser.

Advice on what platform and technology to use: distributed bookkeeping app [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I have an opportunity to learn some new tech to write this code. Basic requirements:
users in various locations worldwide
user control: control who can see, edit, approve various sheets/accounts/transactions within a sheet
parse bank statement files into the system
generate reports
robust logging: who enters, edits, approves transactions
secure, reliable data storage
ability to serve from the Internet, or a local network web server
I was going to use a Google Docs Spreadsheet with scripts, but I can't see the user control being rigid enough.
At the moment I am leaning towards Java Servlets and JSP with Google App Engine.
What would you use?
Servlets and JSP are good technology but fairly basic / low level. You might find it more interesting and productive to try on of the newer web-based frameworks.
Some ideas:
Vaadin might suit this kind of application pretty well, it's a framework for rich internet applications that gives you much more sophisticated components than you could implement with plain JSPs.
I've also heard very good thinks about the Play Framework.
If you are feeling really adventurous and fancy picking up a new language (Clojure) then Noir is also a great web framework in the making.
The only requirement here that may be a gotcha for App Engine is "ability to serve from the Internet, or a local network web server". What exactly do you mean? If this is something that your users are going to want to install locally then App Engine is out of the question.
Any sort of java based solution is going to fit all of the rest of your requirements. Since you have a lot of logging/security, you may want to look at Spring MVC with Spring Security or even Grails (which also supports spring security).

What Java REST framework to use with App Engine and Android for students? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I'm teaching a college course on mobile application development and would like to introduce my students to a REST framework for use with App Engine, to help them with data storage for the Android apps they're building. Could anyone recommend a Java REST framework for App Engine that meets the following criteria:
Must have:
Easy learning curve
Well-documented, with clear tutorials and sample programs
Clean abstractions
Free as in beer
Works well with Eclipse
Nice to have:
Android client
Free as in speech
Not important:
Able to support large query volumes
Highly customizable
From my web searching, Restlet looks best. Is there any other framework I should consider?
Well, I would highly recommend play framework
Have a look at the video on the homepage
It has a gae module
With siena as a orm to handle gae datastore
From all the java frameworks I've seen so far, I think it has the easier learning curve,
great documentation,
a tutorial to develop a complete application
very active and helpful community
free as in beer and also as in speech
highly scalable due to it's stateless out of the box design
rest friendly
highly customizable via it's modules and plugin approach
more over, taking into account it's for a college course, it's really easy to hack into the code, I could handle a couple of tickets and new features without any experience at all with java, just a couple of year developing web applications with php
other benefits
it's really easy to start, no complicated setup involved, just download and unzip the file and your are ready
great development experience, just fix the code and hit refresh, play autocompiles changes on the fly when running on development mode
fast and lightweight
fullstack, you don't have integrate cumbersome frameworks to make it work
great errors report, no more endless error stack trace, just shows you the line with error
no xml configuration anywhere around
great support for tdd with selenium integrated test
I think the main advantage as a learning tool, is that it's possible to peek into the source code without feeling lost and the community support... The documentation is very clear, and you can learn a lot by just having a look at the source code...
Jax-RS...Restlet was written before this but was modified to implement Jax-RS.
This is a similar answer you might find useful.
Could you take a look Spring framework?
i think it may be contented with your request.

Framework Choice / Recommendations for Google App Engine [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
i want to develop a big web application in Google App engine, but I don't know which framework to use in order to obtain the MVC Model. I prefer to use Spring MVC, but I read that several problems with GAE. Another option would be to use django with python but I have never used that. What framework or option do you recommend? Are there other frameworks?
Greetings
You should check out web2py -- it's a full-stack Python MVC framework that's very easy to set up, learn, and use. It was designed to run on Google App Engine out of the box, and there's a whole section in the online book dedicated to GAE (there are also other references throughout the book discussing a few special considerations when developing for GAE). There's even a "Deploy on Google App Engine" button in the web2py browser-based IDE (see the IDE demo home page and GAE deployment interface).
Your web2py GAE apps will also be portable -- you can deploy them on other platforms (e.g., a Linux VPS) without changing your code (though you may want to make some adjustments once you're off GAE and no longer subject to its limitations).
If you have any questions, you'll get lots of help from the mailing list.
I've used Stripes on Google App Engine with success and pleasure. It's a simple yet really powerful MVC stack, very easy to learn and use, and with great documentation. I've been able to integrate it with Guide (for dependency injection) and Sitemesh (for page templating). If you're interested, the code for the application I developed is available at http://code.google.com/p/memwords/.
Django is a best framework for projects without incredible high load, but GAE supported by a very old version.
Try to use Pycharm for editing GAE-applications. This is already usable IDE with active development
Take a look at Tornado, it's a scalable, non-blocking web framework in python and it's simpler and easier to develop in than Django.

Categories