Posts

Showing posts from 2014

Python, how to remove or replace some value in a set's

I found this example very usable [code language="python"] print('"discard" method for remove particular string value from list\n') words = ['test', 'many', 'makeword', 'jazz', 'tube'] # list words = set(words) for word in {"MAKEWORD", "Makeword", "makeword"}: words.discard(word) print words print('\nAnd now we\'re going to "discard" from set number of \ words("MAKEWORD", "Makeword", "makeword", plus using "replace" some string values from tuple\n') words = ('test', 'many[br]', 'makeword', 'jazz[br]', 'doc', 'word', 'words') # tuple words = [w.replace('[br]', '<br/>') for w in words] words = set(words) - {"MAKEWORD", "Makeword", "makeword"} print words [/code] Also, it possible remove elements with set.remove(), bu...

Python: IP address random

i'm working right now over one interesting test case and I need generate random IP address. For my test case I will use second variant but you can use anyone from those two whenever you need.

QA Vocabulary

Baseline Process of managing change, which can serve as a basis for logical comparison from initial state to next state and it can also serve as a basis for further subsequent activities. Blocker Blocks development, testing, or production - regardless of perceived severity Critical Crashes; loss of data; severe memory leak; errors that leave a machine unusable Major Major loss of function. Minor Minor loss of function, or other problem where easy workaround is present; translation/string errors; major cosmetic problems Trivial Cosmetic problems like misspelled words or misaligned text. Keywords Keywords provide a way to group or filter the tests based on the type of tests like User-Interface, smoke, security, performance, Data-validation Scope The work that needs to be accomplished to deliver a product, service, or result with the specified features and functions within the specified duration Test Test is a series of steps with multiple test cases that also includes unique identifier, ...

Python, Asserting Text & WebDriver

Quick tutorial for help my friend, how to verify if looking text exist. [code language="python"] ''' Sources: find_element_by* in operator comparison '!=' assertion ''' driver = webdriver.Firefox() mytext = driver.find_elements_by_id(“myID”).text if “Selenium WebDriver” in mytext print “I found my text!” else: ......... # or some more simple example: if element.text != u'SomeText': print "Verify Failed: element text is not " % element.text # or ... assertTrue(findElement(By.id("myID";)).getText().equals("foo") Obviously "object" identifier can to be changed like: (CSS, XPATH, tagName, ... etc) [/code]

How to Get Started with PyCharm.

Image
How to Get Started with PyCharm and Have a Productive Python IDE 1 Initial Customization 2 Virtualenv and the Python Interpreter 3 Shortcuts 4 External Editor 5 Running Code and the REPL 6 Finding Commands 7 Code completion 8 Access to documentation 9 Code quality 10 Finding your way in the source code 11 Unit tests 12 Dealing with multiple files 13 Split Windows 14 Conclusion

Source Control: RapidSVN software for Ubuntu

Image
If your company using Subversion I found a nice and powerful GUI tool for Ubuntu. Just install it. It’ll create a link to program. sudo apt-get install rapidsvn

One more "Simple REST API" tutorial in jMeter

Image
First of all we need to add an HTTP Request Sampler inside a Thread group (Test Plan -> Thread Group -> Sampler->HTTP Request) Next we need to enter the Server Name or IP of the API and its port(if required) in the web server section.

Mobile Testing: Android Debug Bridge (ADB)

Image
If you read my blog and previous post, this post will be helpful for everyone who will work as a mobile tester. Well, if sound "ADB" confused you and you don't understand what is it, please read it: ADB is the literal meaning "Android Debug Bridge". Though at first glance it doesn’t appear to tell you anything, it actually does. It’s a “bridge” for developers to work out bugs in their Android applications. This is done by connecting a device that runs the software through a PC, and feeding it terminal commands. ADB lets you modify your device (or device’s software) via a PC command line. Let's learn commands: 1. Turn on ADB Go to Menu > Settings > Applications > Development > USB Debugging

Python / WebDriver / Drag & Drop

Few times I was asked which code should be implemented in a test if user interface using drag&drop functionality. Please see how that works. [code language="python"] from selenium import webdriver # see below, this is what are you looking for. from selenium.webdriver.common.action_chains import ActionChains moved = selenium_driver.find_element(By.XPATH, <xPath here>) target = selenium_driver.find_element(By.CSS_SELECTOR, <css here>) ActionChains(selenium_driver).drag_and_drop(moved, target).perform() [/code]

How To Create a Test Automation Framework Architecture With Selenium

Fod my friend which looking at Black-box job. [youtube=http://youtu.be/DO8KVe00kcU] Hope you're enjoyed that video presentation too.

Basic overview on Mobile testing

Image
Types of Mobile testing 1. Functional testing 2. Performance testing 3. Security testing 4. Usability testing 5. Compatibility testing 6. Recoverability Testing 7. Data synchronisation

About WiFi's Frequency

Network Standard Frequency Range Bandwidth MIMO Streams Indoor Range Outdoor Range 802.11A 5GHz 20MHz 1 115ft 390ft 802.11B 2.4GHz 20MHz 1 125ft 460ft 802.11G 2.4GHz 20MHz 1 125ft 460ft 802.11N 2.4GHz 20MHz/40MHz 4 230ft 820ft

SCRUM FOR our breakfast

I think this is a best intro to Scrum

What is Exploratory testing

Image
As its name implies, exploratory testing is about exploring, finding out about the software, what it does, what it doesn’t do, what works and what doesn’t work. The tester is constantly making decisions about what to test next and where to spend the (limited) time. This is an approach that is most useful when there are no or poor specifications and when time is severely limited. Exploratory testing is a hands-on approach in which testers are involved in minimum planning and maximum test execution. The planning involves the creation of a test charter, a short declaration of the scope of a short (1 to 2 hour) time-boxed test effort, the objectives and possible approaches to be used.

Language of Testing | Software Testing Vocabulary

Subscribe the QA and Software Testing Newsletter | Post Your Testing Queries While communicating with colleagues or clients or within testing team, we commonly use vocabulary like “unit testing, “functional testing”, regression testing”,” system testing”, “test policies”, Bug Triage” etc. If we communicate the same to a person who is not a test professional we need to explain in detail each and every term. So in this case communication becomes so difficult and painful. To speak the language of testing, you need to learn its vocabulary. Find below a huge collection of testing vocabulary:

Performance Testing of RESTful APIs Using JMeter

Image
What is a RESTful API? REST (Representational State Transfer) is a simple stateless architecture that uses HTTP protocol. In a Client-Server Application most of the web services use REST API so that clients, third party applications can access its resources using URI (Uniform Resource Identifier) How do we do the Performance testing of RESTful API’s?

Testing SOAP/REST Web Services Using JMeter

Image
Testing SOAP/REST Web Services Using JMeter Representational State Transfer (REST) uses the HTTP request method with the most popular being: GET, POST, PUT and DELETE. The responses return status codes indicating success or failure, along with any applicable headers, and JSON representing the affected fields (or nothing) in the message-body. Read below and you can easily learn how to write a JMeter script with one of these methods!

End-to-End Test

Image
Definition: End-to-end testing is a methodology used to test whether the flow of an application is performing as designed from start to finish. The purpose of carrying out end-to-end tests is to identify system dependencies and to ensure that the right information is passed between various system components and systems. For example, a simplified end-to-end testing of an email application might involve: 1. Logging in to the application 2. Accessing the inbox 3. Opening and closing the mailbox 4. Composing, forwarding or replying to email 5. Checking the sent items 6. Logging out of the application

Relational database

Image
A relational database is a collection of data items organized as a set of formally-described tables from which data can be accessed or reassembled in many different ways without having to reorganize the database tables.

Why do we need Acceptance testing?

Image
User Acceptance Testing (UAT), also called beta testing, is one sure way to reduce or eliminate change requests, and drastically reduce project costs. UAT is an effective process with a high rate of return for those who take the time to implement and follow its discipline.

What's mean PAL, SECAM & NTSC?

Post based on my past QA job in 3VR company. America and Canada using NTSC, which stands for National television system committee. This was the first colour tv broadcast system. NTSC is also used in Asia, including Japan. Western Europe and Australia using PAL, or phase alternating line format. PAL was developed in the early 1960's. The increased bandwidth allows for better picture quality. Eastern Europe and France use SECAM, or sequential couleur avec memoire (sequential color with memory). SECAM uses the same bandwidth as PAL but transmits the colour information sequentially.

Types of Search Algorithms

Image
I was involved in test implemented to app feature "Search" in one of my projects called "Address Book" (contacts). And I do understand how important correct search algorithms form is and today will slightly share my knowledge with you. Today the "Search" functionality part of many programs and web services. Some searches involve looking for an entry in a database, such as looking up your record in the IRS (Internal Revenue Service) database. Other search algorithms trawl through a virtual space, such as those hunting for the best chess moves. Although programmers can choose from numerous search types, they select the algorithm that best matches the size and structure of the database to provide a user-friendly experience.

How to use Fiddler?

Image
Fiddler is a free and open-source packet analyzer. It is used for network troubleshooting, analysis, software, communications protocol development and education. Fiddler captures HTTP and HTTPS traffic data between the browser and server. These data are extremely valuable to troubleshoot HTTP, Java script errors and performance issues related to browser page rendering, this article is a step by step tutorial to guide how to use Fiddler and capture HTTP Traffic.

What Is The Difference Between Performance, Load, Volume & Stress Testings?

Image
Performance testing measures response times across various system layers, and identifies potential bottlenecks that may exist. Ideally, the system being tested is already functionally stable. Load testing is often a part of the larger performance testing strategy. It is different from performance testing, in that performance testing may measure response time with a single user exercising the system or with multiple users exercising the system. Load testing, however, focusing on increasing the load on the system to some stated or implied maximum load , to verified the system can handled defined system boundaries. Volume testing is often considered synonymous with load testing, yet volume testing focuses on data. Stress testing goes to the next level with respect to the quantity of users or data place in the system. The intent is to go beyond testing stated or implied boundaries, and identify actual boundaries by identifying the precise load at which the system breaks (its resources...

Distributed Testing with Selenium Grid

Selenium Grid manual Also, good wiki from Google

About front-end testing

I was asked many times about front-end testing: what to test and how to test it, and what tool are best to be used? And this is my final answer: You need to consider Mike Cohn’s analogy – the test pyramid. It will help you decide what kind of testing best to be done in a certain situation. At the bottom of the pyramid are the solid test units they are the foundation of the test strategy – they can provide you with a fast feedback. At the top, occupying the smallest part of the pyramid , are the UI tests. They interact with your UI directly(for example Selenium), but are costly and very slow on feedback. They can become very brittle and hard to maintain. At the middle of the pyramid there are integration tests that do not require an UI. In Rails, for instance, you would test your REST interface directly instead of interacting with the DOM elements. For smoke or regression tests UI are very useful. If there is a need to automate these, there are some dangers to consider. First, you shoul...

Python: Email generator

For test email app sometimes good to have a group with numbers of faked emails. Was done for 'contacts' (addressbook/surveymonkey.com). Script posted for help young QA engineers.

Why I choose python over java?

Because Python Is Easy to Use: A simple program written in C++, C, Java and Python. All program prints "Hello world".

What is Firebug?

Image
Firebug is a free web development tool. In this tutorial we are going to discuss following - How to install Firebug. Inspect and edit HTML with Firebug. Inspect and edit CSS with Firebug. Debug and profile JavaScript with Firebug. Execute JavaScript on the fly with Firebug. Logging for JavaScript with Firebug. Monitor network activity with Firebug. Installing Firebug

DHC – REST/HTTP API Client

Image
REST & HTTP API developer's pocket knife. Easy to use and configurable. HATEOAS, Hypermedia, Requests History+Repository, and more.

Agile Methodology

What Is Agile? The Agile movement proposes alternatives to traditional project management. Agile approaches are typically used in software development to help businesses respond to unpredictability.

Best App for test internalization billing

Based by my experience, "Overplay" is one of the best app for test internalization billing for your business. Download, install and enjoy your tests.

How to Write a Good Bug Report

I think this is a best explanation: Reporting a new bug or feature request 1. Title: A short one-sentence summary that explains the problem (not your suggested solution). 2. Assigned to: 3. CC: 4. Priority: 5. Severity: 6. Description: 6.a. Full details of the issue, giving as much detail as possible. This can include: 6.b. Steps to Reproduce: 6.c. Actual Results: 6.d. Expected Result: 6.e. For feature requests: A description of what you would like to achieve, and why. A user story is an effective way of conveying this. 6.f. Please also provide any other information that might be useful, such as: the web browsers, computer systems you've seen the bug on; To attach a log file or screenshot (but make sure that no confidential data is included or shown), click the Upload File button (a cloud with an arrow) in the toolbar of the Description field. Software has bugs, yes, even ours. Since programmers are human, and humans make mistakes, ergo bugs. When you come across a bug in our softw...

Git Commands

1. git pull # transfer latest build 2. git status # file(build, branch) Status 3. git add . # add all to git ( or git add ) 3. git commit –a –m ‘comment’ # comment about push or changes inside a code 4. git push -u origin master # push latest build or latest changes to server few other commands: git diff # branch changes git branch –v # branch git add test/login/ initializing git config –global –list

Performance Testing on Mobile systems

Akamai Mobitest is a free tool created to raise awareness to Mobile Web Performance. Your page is loaded on a real mobile device, and you'll receive rich detail about how long it took to load, including waterfall charts and video recording of the page load. The Mobitest agent has been open-sourced, so you can install it on your own devices, connected to your own WebPageTest private instance. The site provides an option to compare the history of tests. Use this URL Enter your mobile website in the space provided for website URL. Choose type of your device. Specify how many runs. Choose Location. Run Performance Test and know the results for your mobile website!

Testing levels and Testing types

Image
  Levels: 1 Unit testing 2 Integration testing 3 System testing 4 Acceptance testing Testing Types: 1 Installation testing 2 Compatibility testing 3 Smoke and sanity testing 4 Regression testing 5 Acceptance testing 6 Alpha testing 7 Beta testing 8 Functional vs non-functional testing 9 Destructive testing 10 Software performance testing 11 Usability testing 12 Accessibility 13 Security testing 14 Internationalization and localization 15 Development testing 16 Performance 17 Load 18 Stress

Few ‘…nix’ administrative commands

ssh root@199.198.3.0 Connect to remote host. ssh -v root@199.198.3.0 Look at the number of ssh build. sudo su or sudo -s Super User Doing permit. sudo dhclient Releasing and updating my machine IP address. sudo /etc/init.d/networking restart Restart all network settings. scp /home//examples.desktop root@122.223.55.2:/home... Copy between local and remote host scp root@(IP address - where file located):/home.... /home (local path to folder) Copy file from remote host to local machine ifconfig See machine's IP address $ touch /home//123 'touch' - created file ls -all /home//123 Check file owner and permissions sudo chown -R root:root /home/fallenangel/123 'chown' - change owner wget https://www.test.com/logo4w.png wget - download file from URL tar -cf logo.tar logo4w.png Archive file tar -xf logo.tar Open archived file (if user located in a same directory) top what applications used over memory kill process # hit "k" and choose a "PID" number. MAC-...

Python + WebDriver: Explicit vs Implicit Waits

Selenium Webdriver provides two types of waits – implicit & explicit. An explicit wait makes WebDriver to wait for a certain condition to occur before proceeding further with executions. An implicit wait makes WebDriver to poll the DOM for a certain amount of time when trying to locate an element. Full information ### Explicit Waits ### ”’ An explicit waits is code you define to wait for a certain condition to occur before proceeding further in the code. The worst case of this is time.sleep(), which sets the condition to an exact time period to wait. There are some convenience methods provided that help you write code that will wait only as long as required. WebDriverWait in combination with ExpectedCondition is one way this can be accomplished. from selenium.webdriver.support import expected_conditions as EC ”’ wait = WebDriverWait(driver, 10) element = wait.until(EC.element_to_be_clickable((By.ID,’someid’))) ### Implicit Waits ### ”’ An implicit wait is to tell WebDriver to po...

By my assumption: Why do you need Back End testing:

Image
A Back end is the engine of any client/server system. If the back end malfunctions, it may cause system deadlock, data corruption, data loss and bad performance. Many front ends log on to a single SQL server. A bug in a back end may put serious impact on the whole system. Too many bugs in a back end will cost tremendous resources to find and fix bugs and delay the system developments.