Tag Archives: regression

12 SOFTWARE TESTING TECHNIQUES YOU CAN APPLY IN WEB DESIGN


12 Software Testing Techniques applied in Web Design

The web design industry has been taken by storm lately. There are tons of new comers every year bringing their style and creativity on the table. But you gotta admit that some of the work is quite below par. Coding issues, UI mismatch and worst of all UX problems are prevalent among them. Now if you’re from an I.T field you’re bound to have come across the term called software testing. They’re a string of testing techniques for those cumbersome JAVA and .NET softwares before deploying them live or before submitting them for grades :)

It struck me just the last time while handling the design of a WordPress portal that why can’t we implement those testing methods on our web design projects. I took some of the most essential testing methods ranging from basic to intermediate and found fabulous results which I’d like to share with you’ll. We’ll go through the testing techniques which I leveraged upon my project and learn how can we improve from our errands.


Black Box Testing

Just scraping the surface and looking for the overall functionality and design errors without worrying about the internal working. If any found, it’s suggested to correct them at this very stage.


White Box Testing

Also known as Glass Box Testing, this one’s based upon the building blocks of the project’s code. The person in charge for this type of testing is expected to carry sound knowledge of the programming language used for the back-end to make sure our project doesn’t have any syntax errors.


Acceptance Testing

Usually this type of testing is done to check whether all of the client’s requirements have been fulfilled or not. An important thing to remember here is that the client does this testing to decide whether to accept the project as satisfactory or not.

Fork CMS


Usability Testing

With this type of testing the designer can test whether UX has been respected or not. Can your client handle and manage your project without any hassle? If not proper documentation to guide him should be included.


Compatibility Testing

Usually this type of testing is done to check whether the application performs equally well in various software environments and operating systems which a web designer can undertake to make sure whether the website looks and functions similarly in all major browsers, for which the technical term is cross-browser testing.


Comparison Testing

A comparison of your current and previously successful project can help you make out its strengths as well as weaknesses and work upon them to improve it.


Regressions Testing

This type of testing is used when you’re gonna release sequential versions of your theme or design. It can help you to overcome previous errors and not to repeat them while releasing next versions.

Stepehn Gacheru Portfolio


Load Testing

As the name suggests, this type of testing can be performed to check the status of your project under heavy loads. For example you can check the loading time when a number of plugins have been installed or the response time under complicated database queries.


Performance Testing

A mixture of Load and Stress testing, this method can be used to check whether your project meets the performance requirements and under what conditions does it give best results.


Integration Testing

Most of us designers and developers take up a project and develop it step by step in parts or modules. In the end all of them are connected to each other and what you get is the final result. This type of testing is done to verify the combined functionality after the integration of all those modules.


Recovery Testing

God forbidden but if at all your CMS fails, this type of testing is done to check how well does it recover from such failures. Always make a back up before deploying any of your project.


Security Testing

Due to a large number of hackers at large, this type of testing becomes very necessary to check whether your project is safe from unauthorized access. Even a minor flaw can allow the attackers to inject an SQL string and corrupt your database. Make it ‘almost’ impenetrable before setting it live.

                And there they are. The above mentioned are the twelve testing methods used in software testing which I executed upon my web design projects before they go live. We can make sure that our designs are almost perfect and in excellent functional status and minimize the rise of errors as much as possible. Shoot up your opinions down in the comments.

Source:http://blogverize.blogspot.com/2012/06/12-software-testing-techniques-you-can.html

Did you like this? Share it:

Regression testing redefined

This comes from Wikipedia:

Regression testing is to determine whether a change in one part of the software affects other parts of the software

This is not wrong, but it’s incomplete. Discovering that “a change in one part of the software affects other parts of the software” is only one part of regression testing, the second part is to determine if the change is a bug or it is not. A change may as well be either of:

  • Expected change , because the other part interacts (directly or indirectly)with the part that changed
  • Unexpected change, which does not bug anyone and is fine
  • Test data issue (i.e. unsupported backward-compatibility between minor builds)
  • Anything else

On iterative project, especially those claiming to be agile we quite often end up doing considerable test adjustments during so called regression tests. We still call them regression testing and we report our progress against old test cases, but we almost never run those tests the way we run them last time.

Just in case – I want to say that I distinguish process of bug retesting (we do it when developer claim to have fixed a bug) which not just consist of checking if the defect as reported do not appear any more – it include process of testing around the bug, but that’s a different topic. In this blog I want to discuss so called “old feature testing”. I’ve seen many projects doing it just before shipping the next iteration.

Source: http://www.softwaretestingclub.com/profiles/blogs/regression-testing-redefined?xg_source=activity

Did you like this? Share it:

TestPad- Mobile testing tool

What is Testpad?

Testpad is an online tool to plan and execute manual testing, whether that’s making ad-hoc testing less ad-hoc, steering exploratory testing or maintaining detailed lists of test cases.

How is Testpad different?

Testpad is a new take on test management. It moves away from managing test cases one at a time, and instead towards a more flexible checklist approach that makes it much faster to create and maintain scripts.

Test scripts in Testpad are quite free-form and can be used in a wide variety of ways. For example:

  • outline guides to steer exploratory testing
  • charters for session-based testing
  • traditional test cases with detailed steps
  • regression tests to cover previous failures
  • tests which should be automated but which haven’t been given the time yet
  • even just lists of favourite things to check before making a release

Testpad has a unique user-friendly interface. It’s designed to feel and behave like a native keyboard-driven text editor with powerful outlining controls; nothing like a traditional test case manager with the typical one form at a time click-to-edit-click-to-save model. It also has a mobile UI so you can run your tests from the convenience of a touchscreen and with very separate context to the product under test.

Source: http://www.vietnamesetestingboard.org/zbxe/?mid=download&category=12649&document_srl=609971&listStyle=&cpage=

Did you like this? Share it:

Time Estimation for Software Testing

In the process of creation of a successful software product, there is an inevitable problem of finding a balance between the quality and the release date of the software product. The testing allows of obtaining a product that satisfies all requirements. But the covering of each product risk with various test cases and compiling them take too long. The correctly prepared testing process should provide a required quality level without exceeding project time and budget . If the time for testing was estimated wrongly, it can lead you either to the late product delivery, or to the decrease of its quality and competitiveness . The estimation of time resources in software testing is a rather complicated and volumetric process but its significance for the creation of the successful project shouldn’t be underestimated.

This article contains recommendations that can help you to obtain more realistic and functional time estimates for the testing of a new project.

Written by:
Olga Volzhanina,
QA Specialist of Driver Testing Team

1. Decomposition of Testing Tasks
1.1. Testing Process Planning
1.2. Test Plan and Test Case Development
1.3. Test Environment Configuration
1.4. Execution of Test Cases
2. Debugging of Test Cases After the First Run or Product Change
2.1. Regression Testing
Conclusion

Source: http://www.vietnamesetestingboard.org/zbxe/?mid=download&category=469996&document_srl=526798&listStyle=&cpage=

Did you like this? Share it:

Automation Testing Framework Approach

A framework approach to create an Automated Regression Test Bed has many benefits over the traditional simple capture/playback or custom scripts methodology. However evolving a keyword driven framework approach for automating the regression test bed of scripts, may take time and is generally not recommended if at all any major changes are expected to be met up in near or even near far future.
How to do Automation Testing :

Reuse of Tests : When a certain set of test scenarios require frequent execution it makes more sense to automate them and reap the benefits of unattended automated execution of test scripts.

• Another example will be in cases where a single script needs to be executed with multiple data sets. In such cases the effort to automate a single script and running it with multiple data sets is far less than the manual execution effort for all those data sets.

Time Save : Running unattended automated test scripts saves human time as well as machine time than executing scripts manually.

Better use of people : While automated scripts are running unattended on machines, testers can do more useful tasks.

Cost Saving : On test engagements requiring a lot of regression testing, usage of automated testing reduces the people count and time requirement to complete the engagement and helps reduce the costs.

Machines are more reliable than humans : Great confidence will be gained when a system is released, when we use automated testing . With some approach instead fo just record and is playback , it becomes very easy easy to maintain and update the scripts with newer releases or changes done to the application. Also the degree of scripting gets minimized as the resources working on the automation scripting mature to successfully understand and develop some set of library for their reusability.

Selective testing : There should be an easy way to only test the breadth of the application without doing a lot of depth testing. This is to be used for stability testing of an application • There should be an easy way to select test scenarios at a more granular level in order set up more targeted regression.

Recovery : If test script execution is stopped at any moment for any reason, the test suite should be able to resume testing from that point at any time later. We should not need to re-test functionality that had passed earlier.

Scalability : It should be possible to execute tests from different machines at the same time in order to gain time efficiencies. 

Inter-environment portability : The scripts should run on any given test environment without any code change (technical intervention).

Usability : With minimal amount of training, anyone on the team must be able to execute the automated suite . The script must run without any manual intervention.

Source: http://www.vietnamesetestingboard.org/zbxe/?mid=download&category=12632&document_srl=539680&listStyle=&cpage=

Did you like this? Share it:

Top 20 practical software testing tips

Here are some of the best testing practices I learned by experience:

1) Learn to analyze your test results thoroughly. Do not ignore the test result. The final test result may be ‘pass’ or ‘fail’ but troubleshooting the root cause of ‘fail’ will lead you to the solution of the problem. Testers will be respected if they not only log the bugs but also provide solutions.

2) Learn to maximize the test coverage every time you test any application. Though 100 percent test coverage might not be possible still you can always try to reach near it.

3) To ensure maximum test coverage break your application under test (AUT) into smaller functional modules. Write test cases on such individual unit modules. Also if possible break these modules into smaller parts.

4) While writing test coverage, write test cases for intended functionality first i.e. for valid conditions according to requirements. Then write test cases for invalid conditions. This will cover expected as well unexpected behavior of application under test.

5) Think positive. Start testing the application by intend of finding bugs/errors. Don’t think beforehand that there will not be any bugs in the application. If you test the application by intention of finding bugs you will definitely succeed to find those subtitle bugs also.

6) Write your test cases in requirement analysis and design phase itself. This way you can ensure all the requirements are testable.

7) Make your test cases available to developers prior to coding. Don’t keep your test cases with you waiting to get final application release for testing, thinking that you can log more bugs. Let developers analyze your test cases thoroughly to develop quality application. This will also save the re-work time.

8 ) If possible identify and group your test cases for regression testing. This will ensure quick and effective manual regression testing.

9) Applications requiring critical response time should be thoroughly tested for performance. Performance testing is the critical part of many applications.

10) Programmers should not test their own code.

11) Go beyond requirement testing. Test application for what it is not supposed to do.

12) While doing regression testing use previous bug graph (Bug graph – number of bugs found against time for different modules).

13) Note down the new terms, concepts you learn while testing.

14) Many times testers or developers make changes in code base for application under test.

15) Keep developers away from test environment.

16) It’s a good practice to involve testers right from software requirement and design phase.

17) Testing teams should share best testing practices, experience with other teams in their organization.

18) Increase your conversation with developers to know more about the product.

19) Don’t run out of time to do high priority testing tasks.

20) Write clear, descriptive, unambiguous bug report.

Source: http://www.vietnamesetestingboard.org/zbxe/?document_srl=565689

Did you like this? Share it:

The Distributed Agile Model

Since proponents of Agile processes prefer face-to-face conversation as the means for communication within a development team, in the “distributed Agile model” – in which members of an Agile team are situated in more than one workplace — this may seem unlikely.

But Agile processes are not rule-bound; rather, they optimize for methods and dynamics by which organizations are able to build, maintain, and apply systems of knowledge within changeful, context-dependent, collaborative work situations.

So when we evaluate the viability of distributed Agile (DA), our concern is not whether it complies with a particular definition of Agile, but whether it can support iterative, incremental, and sustainable development; promote teamwork; promote self-management; adapt readily to emergent changed requirements; and increase customer participation in the development process. Based on my experience I would say DA is, in this sense, viable. But special measures must be taken, especially in the area of communication. I will briefly describe those measures in this paper.

First, though, it may be helpful to state some background. We worked with organizations who, following their companies’ recommendation or mandate, had adopted Agile project management, but also wanted to outsource their testing.

Some varieties of testing are a very good fit for DA, such as running full regression suites on the most recent known-good build, performance testing, automation development, and end-to-end testing.

One of the best fits for DA has been a sort of cluster of remote Scrums, where the home group drives development of the core engine, while a remote group is spawned whenever an adapter or significant new feature is required — each remote group communicating closely with one member of the home group who attends daily standups etc.

Source: http://www.vietnamesetestingboard.org/zbxe/?document_srl=459513

Did you like this? Share it:

GUI Testing on Smart Devices – Testing Guidelines

As “First impression is the last”, so GUI (Graphical User Interface) does matter and creates a lot of difference. Importance of decent and attractive GUI can be felt more significantly in smart devices environment where screen size is much small.

GUI testing can be toughest part especially while testing on smart device. You should pay full attention to the GUI while testing on smart devices and surely it is an important task that deserves significant time and resource allocation.

Practical Tips for Testing GUI on Smart Devices:

For me, while testing GUI, all the controls are accused. I raise questions why they are there on the screen and I try to answer these questions. I argue in opposition and favor of the controls one by one and I do all this without discussing with someone else. It is the time when I’m wearing multiple hats, Controls are accused and I’m the Prosecutor , I’m the Defense Lawyer and I’m the Judge and during all this process a control must have valid and solid reasons in its favor to be there on screen and consume space. I suggest you to try it and it will help you to decide which controls to display on the screen.

There also come the situations where you are given an already built GUI to test. In such situations also think about the missing controls, the controls that will add value to the screen and compare their importance with the current ones. If you think you need to make a change go ahead.

Source: http://www.softwaretestinghelp.com/gui-testing-on-smart-devices-%E2%80%93-testing-guidelines/

Did you like this? Share it:

Regression 2012: Second International Workshop on Regression Testing @ICST

Regression testing has received a significant amount of attention from both academics and practitioners during the last 20 years. Even though the use of regression testing techniques often leads to software applications with high observed quality, the repeated execution of test cases can be so costly that it accounts for half the cost of maintaining a software system.

The regression testing research community also faces the additional challenges of transitioning established techniques into practice, improving the status-quo of the empirical evaluation of techniques, and proposing advanced methods for applying regression testing to modern software that is often complex, rapidly evolving, concurrent, and cloud-based.

Viewing these tensions and challenges as an opportunity and not a threat, and looking to tap the potential of well-established researchers and up-and-coming members of the community, the theme of this year’s workshop is minimizing problems, maximizing potential, mapping prospects.

Source: http://thomas-zimmermann.com/2011/12/regression-2012/

Did you like this? Share it:

Write sample bug testing report

Below sample bug/defect report will give you exact idea of how to report a bug in bug tracking tool.

Here is the example scenario that caused a bug:

Lets assume in your application under test you want to create a new user with user information, for that you need to logon into the application and navigate to USERS menu > New User, then enter all the details in the ‘User form’ like, First Name, Last Name, Age, Address, Phone etc. Once you enter all these information, you need to click on ‘SAVE’ button in order to save the user. Now you can see a success message saying, “New User has been created successfully”.

Here is the sample bug report for above mentioned example:
(Note that some ‘bug report’ fields might differ depending on your bug tracking system)

SAMPLE BUG REPORT:

Bug Name: Application crash on clicking the SAVE button while creating a new user.
Bug ID: (It will be automatically created by the BUG Tracking tool once you save this bug)
Area Path: USERS menu > New Users
Build Number: Version Number 5.0.1
Severity: HIGH (High/Medium/Low) or 1
Priority: HIGH (High/Medium/Low) or 1
Assigned to: Developer-X
Reported By: Your Name
Reported On: Date
Reason: Defect
Status: New/Open/Active (Depends on the Tool you are using)
Environment: Windows 2003/SQL Server 2005

Source: http://www.softwaretestinghelp.com/sample-bug-report/

Did you like this? Share it: