Tag Info

Hot answers tagged

9

As user246 says, tricks to force developers to test can always be gamed: you're much better off finding out why they don't like testing and what the actual problem is then building a culture of testing and quality from that. You're working in PHP - there are unit test frameworks available for PHP that your devs can use. If they have no idea how much trouble ...


9

I've read that if a requirement can't be verified by black-box testing or inspection, then it's not a requirement, but a design specification. I don't think that's true. There are plenty of requirements which are difficult-to-impossible to test with black-box techniques; for example, a client-server application might have a requirement that all ...


9

This is - sadly - rather more common than anyone here would like. It's where I was when I started at my current position: two major applications, both stable, but the company has never had dedicated test specialists before. The first thing I did was make sure that everyone knew there weren't going to be any quick changes. No matter how skilled a person is, ...


8

The traditional definitions would be something like this: A test suite is a collection of test cases related to the same test work. You might have a suite for regression, one for build verification tests, a suite that is specific for a component, and so on. A test plan is generally a document which describes testing approach and methodologies being used for ...


7

You're already doing it! The core principle here, which you're already following, is: Prepare some data Enter it into the input field Check whether it is displayed correctly in the output. To make your testing more sophisticated and thorough, consider the possible variations at each stage: 1. Data: Basic numbers and letters Basic punctuation ...


7

In my experience with documenting system tests, I've found a multi-layered approach works. I really like Microsoft Test Manager for this because of two things: the ability to define input parameters for manual tests and the concept of shared test steps which can be used by any test case. You don't mention if you're using a test case tool, word, excel or ...


7

While the entire system isn't under your control (which is clearly the superior option), it might still be possible for some slice of the system to be under your control. You say it's a payroll system. Can you create a "Test Company" that everyone else would agree to leave alone? Can you create "Test Employees" that everyone else would agree to leave ...


7

It depends, and there are no industry standards. Seriously. Any metric can be gamed (and will be, if you use it for assessment). I'm not aware of any standard approaches, not least because the teams are - or should be - evaluating themselves regularly and looking for ways to improve their own processes (if they aren't then they're probably using ...


6

OK...now that a few folks have voiced their perspectives on "boxes" let me try to answer your question. I am going to assume that we agree that by 'white box' testing you are referring to the act of designing static or dynamic tests based on the implementation of a programming language that performs some functional task or behavior in a software program; or ...


6

I am working under the assumption that you would be familiar with the language the tools are being written in. If the team you are on already is writing unit tests a good place to start might be with them. Talk to the developers that are writing the unit tests and get an idea for how the underlying code is working. In the process of doing this start ...


6

Selenium is a tool that remote-controls a browser. You can use it to simulate a user interacting with a web site. JUnit is a framework for writing Java unit tests. It takes some of the grunt work out of organizing tests and generating reports. You can express each test as a method on a class; typically, you have multiple tests per class. JUnit will run ...


5

Good luck with that. Your developers are probably bright enough to subvert any gimmick or incentive you put in place. Instead, you need to face the problem head-on: testing needs to be a part of your organization's culture. That's not to say that every developer needs to love testing, or needs to prefer testing over development. Rather, developers need ...


5

You did not provide a lot of detail about the relationship between the logging system and the processing system, so my answer is going to be general/vague. I would try the following, in this order: Educate your management. You have a good reason for how you structured your tests. Explain what they can and cannot infer from a 100% failure rate. Explain ...


5

There's a few extra factors here that can impact the way you handle this problem: Do you get results for each test as it completes or do you have to wait until all tests complete? Do you have multiple machines on which to run the tests (and is it possible to do this) or are you tied to a single system running your tests in sequence? Can you break your ...


5

As already stated in a comment, it depends. You have to consider a lot of things in order to decide your test strategy. Usually you have limited resources for testing (time, budget, testers, infrastructure etc.), so you cannot test everything equally thorough. A risk-based approach helps you decide where to concentrate your testing efforts and how thorough ...


5

Instead of an "either/or", it is better to think of test case or scenario testing as a tree structure: Trunk: This is common test set that are always run (e.g. launch the application) Branch: These are major scenarios that have few common tasks (e.g. "admin" vs "user" scenarios) Branch: ... (if needed) Branch: ... (if needed) Twig: Test cases that are ...


4

Checking black-box and white-box skills You've been given a task to test the isPalindrom(String text) : boolean function. What are test cases you would propose and why? Now implement the function under test yourself. Are you seeing some more test cases to verify? We used that question at our interviews, inspired by What are the test cases or test ...


4

The Babel tool will generate characters by language group, or multiple language groups. Typically, if you are seeing a � character, that usually indicates that you don't have a font capable of displaying the Unicode character (or the Unicode code point is not assigned a character). Corruption is usually indicated by a single chars displaying as 2 different ...


4

That is the Builder pattern. It is not specific to BDD. It's fairly common in integration tests and functional tests. It's less used in unit test, which typically have less need for complex data setup. A test data builder might either construct data, or find relevant data in a database. (I strongly prefer building data from scratch, but that's a rant for ...


3

My preference is definitely to have the automation be the one in control of the configuration and test that the application is behaving as expected depending on the configuration. If you go with the "Dynamic Checking of Results" approach, you're missing a large portion of test coverage around the app's behavior based on the configuration. With that in ...


3

From your questions these are Application Related Info / Challenges Very large web application with thousands of users Data is read only if payroll has not been started, and has an insane number of configuration choices Needs to connect to Remote DB / DBs Multiple interlocking web services Written is classic ASP No way to separate front end and business ...


3

You could to create a Test-specific build which stubs the input GPS data. By having a data-input interface (in code) you could have fake GPS information fed in - I'm not sure what the data is or how it will look, but whoever developed the application should be able to engineer this. While this is going to be a build which is never to be released to ...


3

There are tools that will generate a set of tests that cover every combination at least once without hitting all possible combinations (these work on the principle that most bugs will be surfaced by exercising pairs of settings). Since the feature hasn't gone live, your business analyst is probably your best reference for the combinations that are most ...


3

I agree with everything in Dan's answer. There are a few options on how to automate testing of the web service layer. You can use gui tools such as SOAPUI or JMeter, or you can use libraries such as Rest Sharp or a java alternative. I often prefer to start with an API or library for my automation, but recently I've been having success with JMeter and ...


3

It is hard to find very knowledgeable security experts in QA, mostly because it is extremely complex, and requires constant learning and keeping up on trends. There are a number of things that you would absolutely need to know in order to be considered a "security expert". The biggest challenge is that it's not OK to know some of these things, or to have ...


3

Keeping each test separate, but dependent on each other, may introduce erroneous failures if the prerequisite tests have not completed or have failed. Each test should be independent of another. I would cascade the tests in this example: Test #1 = A Test #2 = A + B Test #3 = A + B + C


3

As always, it depends. At my previous employer, we had some 400-odd customers (business-to-business software). The one customer who was the only user of certain features was one of the largest customers so it was absolutely critical to make sure those features worked well. In anything business-to-business that's pretty common: the biggest customers will ...


3

Here are pros and cons of running tests in a sequence. I understood you ask in a context of automation, not manual execution. Pros: Execution time can take shorter, because previous test sets prerequisites for the next one. Cons: Harder to run in parallel. If you have a sequence of tests that depends on each other, you cannot run them in parallel. You ...


3

This is a pretty common situation - and one I've dealt with myself. Based on your comments and the question itself, I can offer a few suggestions. Document your test dependencies - if you're going to be running tests that depend on the result of other tests, make sure you document them. Build in per-test checks - it's a lot more complex to check the ...


3

Based on your response to my comment, you're not actually looking to test database operations but an application that employs the operations. That makes things a little simpler. If you have access to the data store - the simplest method you can use is to perform an operation with your application and treat the data store as an oracle for verification ...



Only top voted, non community-wiki answers of a minimum length are eligible