Black-Box Testing & White-Box Testing. What Is The Same and What Is Different?

3 comments
The main differences between black-box testing (BBT) and white-box testing (WBT) are in such aspects:
Objects

The tested objects may overlap sometimes. WBT is commonly used to test not very big projects, for example small software products or units of large software products. At the same time BBT is commonly more appropriate for big software systems.

Perspective

BBT considers the objects of software testing as a black-box paying attention to testing the input-output relations or external functional behavior. At the same time WBT considers the objects as a glass-box where internal execution details are obvious and tested.

Timing Sheet


WBT is usually used in early sub-stages of software testing for big systems (unit and component testing). At the same time BBT is usually used in late sub-stages (system and acceptance testing).

Software Bug Focus

In WBT software bugs related to internal executions can be monitored, leading to corresponding bugs being identified and removed. The accent is on diminishing internal defects so that there is not so big probability for bugs later on no matter what type of application environment the software is subjected to.
In BBT software bugs related to specific external functions can be monitored, leading to corresponding bugs being identified and removed. The accent is on diminishing the probabilities of encountering functional troubles by target clients.
Commonly BBT is more efficient in identifying and correcting troubles of interfaces and interactions. At the same time WBT is more efficient for troubles localized within a small unit.

Software Testing Techniques

Different techniques may be used to create models and generate test cases to conduct systematic BBT, and others can be used for WBT. A specific technique is a BBT one if external functions are modeled; at the same time the identical method may be a WBT one if internal executions are modeled.

Software Testers

BBT is generally conducted by dedicated professional software testers, and could also be conducted by third-party personnel in a setting of independent verification and validation. At the same time WBT is usually conducted by developers themselves.

Software Bugs Detection

Software bugs identified with the help of WBT are easier to correct than those found with the help of BBT because of the direct connection between the monitored failures and program units and execution details in WBT.
Nevertheless, WBT can miss some kinds of bugs, such as omission and design troubles, which could be identified with the help of BBT.









3 comments :

Post a Comment

DalekJs (Automated cross browser testing with JavaScript!)

No comments
Short Description

DalekJS is an open source UI testing tool written in JavaScript, it will:
  • launch & automate your browser
  • fill & submit forms
  • click & follow links
  • capture screenshots
  • run your functional tests
  • … and it works on Windows, Linux & Mac.


Does DalekJS depend on Selenium?

Short answer: No. Dalek uses the Webdriver specifications, the JSON-Wire protocol to communicate with the browsers it utilitizes, when applicaple. The Webdriver specification evolved out of the Selenium project & then got submitted as a draft to the W3C. So, in some ways, Daleks existance would not be possible without the work the Selenium project has done so far. But Daleks only dependency is Node, no need to install Java or download the Selenium.jar file.
Installation
Dalek's installation is pretty forward, just make sure you have Node.js installed. If you don't have Node installed, just go to nodejs.org & follow the instructions of the graphical installer.

With node comes a handy package management tool called `npm`. You can verify, if the installation succeeded when you open your command line & type
$ npm --version
then you should see some output like this
$ 1.1.62
where the version number depends on your installed version of Node.
If that worked, you should be able to install DalekJS.
Dalek is split up in a few different parts, to get it working initially, you first have to install the "Dalek Command Line Tools", this is as easy as typing
$ npm install dalek-cli -g
in your command line.
Verify that the installation worked by checking with
$ dalek -v
You should see something like this
$ DalekJS CLI Tools Version: 0.0.1
  Brought to you with love by: Sebastian Golasch (@asciidisco) 2013
Awesome, you're one step closer to the finish line, next up, you need to add a package.json file to your projects root directory, if you haven't one already. You can start with the bare minimum of that file, which should look something like this:
  "name": "myCssTardis",
  "description": "Is awesome",
  "version": "0.0.2"
}
Hah, you "nodyfied" project & I guess, now that you learned to love the command line, you would really like to go back & hack!? Great, then the next step is something for you, we install the Dalek base framework & all its dependencies with a one liner that looks like this:
$ npm install dalekjs --save-dev
Guess what?! That was it. You installed DalekJS you old command line hero, if you want to verify, that the local installation worked, you can, again, ask Dalek in which version it is running, because now, it will also tell you the version number of your local Dalek installation:
$ dalek -v
You should see something like this
$ DalekJS CLI Tools Version: 0.0.1
  DalekJS local install: 0.0.1
  Brought to you with love by: Sebastian Golasch (@asciidisco) 2013

No comments :

Post a Comment

Web Site vs. Web Application…

No comments
What’s the Difference?
When people ask me what I do for a living and I tell them I develop web applications, they often give me a blank look. When that happens, I backtrack, generalize, and tell them I build web sites and they go, “Oh, okay!”
A website, or Web site, is not the same thing as a Web page. Though the two terms are often used interchangeably, they should not be. So what's the difference? To put it simply, a Web site is a collection of Web pages. For example, Amazon.com is a Web site, but there are millions of Web pages that make up the site. Knowing the difference between these two terms can save you a lot of embarrassment.

Website vs Web Application

The advent of the Internet led to the invention of new terms that are exclusively used to refer to things that you can do or get from the Internet. Website is one of the very first and it is used to refer to a location that hosts several pages that are often on the same topic. The site is accessed with the use of a URL (Uniform Resource Locator). On the other hand, a web application is a term used identify a program or application that is run and used on separate computers.
A web application can exist in the Internet or across a local network, Intranet, VPN, among other things. When a web application is available in the Internet, it is often hosted as a separate page on a website. The site can also contain other materials that are not used by the web application but are often related to what the web application does.
Comparatively, a web application is more resource intensive compared to a website that does not contain a web application. Depending on the type and goal of the web application, it needs to process the data it gets as well as access databases. Although some of the more complicated sites can be as resource intensive, most are not. This is because most sites simply show information that are static and are not updated very often.
The same is also true when it comes to the difficulty of creating a website or a web application. Static websites can be coded as long as you know HTML (Hypertext Markup Language). With web applications, it is not enough to know HTML, the part that makes it an application is coded with a more difficult language that is akin to programming languages. The list of languages includes Java, Javascript, DHTML, Silverlight, PHP, and AJAX. It is also necessary to know two or more of these languages in order to implement server side scripts that process the data and client side scripts that format the information on screen.
Summary:

1. A website is a collection of web pages under the same location while a web application is a type of application that is hosted over a network
2. A web application is often accessed in a certain website
3. A web application often needs a lot more processing power than most websites
4. A web application is more difficult to create than a website

No comments :

Post a Comment

About Sauce Labs

No comments

Sauce Labs, the leading web and mobile application testing company, provides cloud-based testing tools that greatly increase productivity for developers and enterprises alike. Sauce Labs' automated testing service lets users run Selenium tests and JavaScript unit tests for native mobile apps, mobile web apps and desktop apps across multiple browsers in parallel without setting up or maintaining test infrastructure. Its manual testing service lets users interactively test websites on more than 150 browser/OS platforms while recording screenshots and videos of bugs. To date, more than 60 million tests have run in the Sauce cloud. Sauce Labs is headquartered in San Francisco, California. For more information, visit http://saucelabs.com.


No comments :

Post a Comment

Sauce Labs Gives Open Source Projects Free Access to Testing Cloud

No comments
 Sauce Labs Inc., the leading provider of cloud-based mobile and web application testing solutions, today announced expanded platform support and new features for JavaScript (JS) Unit Testing on Sauce. Developers are now able to automatically test whether the JavaScript in their web and mobile applications renders correctly using Sauce Labs' test infrastructure of more than 150 browser/OS platforms.
With JavaScript code playing an increasingly critical role in modern web apps, JS unit testing is essential to ensure quality and keep up with the accelerating pace of web development. However, many developers are limited to testing against the browsers available on their own laptops or internal test infrastructure. By using the Sauce Labs platform for JS unit testing, developers can instantly run tests across all their target browsers, increasing the coverage of their testing and the speed of their release cycles.
"Using Sauce for JS unit tests gives developers instant access to difficult to maintain browser/OS combinations, so they can get better test coverage, and allows them integrate tests with their Continuous Integration, or CI, systems," said John Dunham, CEO and co-founder of Sauce Labs. "Hundreds of users have already been using Sauce Labs to run their JavaScript unit tests in the cloud, but the new features make it even simpler."
Sauce's latest JS unit testing developments include a convenient REST API that makes it easier for developers to run tests on the Sauce Lab cloud. To more quickly help frontend developers identify the browser-specific issues within their web and mobile applications, Sauce Labs overhauled their test details page, creating a new reporting page that specifically details the results of JS unit tests. This feature enables developers to see and share all test details easily and identify failures faster.
Beyond web app developers, some popular JS application frameworks run their own cross-browser JS tests in the Sauce Labs cloud, including YUI, an open source JavaScript and CSS library for building richly interactive web applications that is built by Yahoo.
"We use Yeti with Sauce Labs to run over 25,000 tests for every commit to the YUI open source project," said Reid Burke, Yahoo engineer and YUI team member. "We develop with confidence because we constantly test our code on the same browsers and devices our customers use. Plus, Yeti's support for parallel Sauce sessions lets us run all of these tests quickly."
In addition to JS unit testing, the Sauce platform supports functional testing with Selenium, hybrid and native mobile app testing with Appium, and manual testing. To learn more about JavaScript Unit Testing on Sauce, visithttp://saucelabs.com/javascript

No comments :

Post a Comment

What Does a Quality Analyst Do?

No comments
A quality analyst helps ensure that an organization’s products or services meet its quality standards. The analyst may work in industries such as software development, manufacturing, or customer service. Although the specifics of a job description for this position will differ depending on the industry and organization, many duties of the position are conceptually similar. This position frequently requires higher education, strong analytic skills, and attention to detail.
Quality analysts may play key roles in establishing their organizations’ quality standards. They often use industry benchmarks and experience to recommend quality-related practices that can be used throughout the organization. Quality improvement initiatives often take advantage of the analysts’ expertise to ensure programs are successful.
Usually, quality analyst jobs focus on developing plans to ensure quality requirements are met. In manufacturing, this may involve determining the number of samples to take per lot, type of tests to be performed, and at which points in the process sampling and testing should occur. In software development, the analyst will likely develop plans and write test cases to ensure computer applications meet their requirements. Those who work in customer service organizations may establish plans to audit and survey a sample of customer service transactions.
A quality analyst frequently reviews product or service specifications as a part of her role. She can use her expertise to suggest improvements in the specifications, which will lead to improvements in the final product or service. Correcting quality issues in the specification phase reduces the organizations’ costs.
Analyzing and reporting testing results is another essential task for quality analysts. They often gather extensive statistics and use techniques such as root cause analysis to find the sources of defects. The analyst may make suggestions for improving products and processes to reduce or eliminate defects based on the findings.
Quality analysts are usually detail-oriented and analytical. They must be persistent and willing to work through difficult issues. Learning quickly will be useful in this profession, as is the ability to communicate orally and in writing to people with varying backgrounds.

No comments :

Post a Comment