Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Josh Justice:
Approaches to Testing: A Survey
Feb 08, 2016 @ 16:49:23

On the CodingItWrong site Josh Justice has written up an interesting article about the different "schools" of testing and the approaches they take. While it's not specific to PHP testing, a lot of the principles still apply.

The last few months have been my first opportunity to do automated testing at my full-time job. As I’ve been trying to get the hang of it, my biggest question has been how many of each type to test to write: how many unit, integration, and acceptance tests. Turns out Folks Got Opinions™ on this! As I researched, I found at least four different approaches to testing, and they each provide different answers to a number of questions I had.

His research answered questions about what the different types are, what processes are used to create tests and what to check for. He also answered question about how to change code based on what you find during testing and what "good code" is. HE then breaks down the rest of the article into the four different types of software testing he found during his research:

  • Test Approach #1: Whatever it is DHH does.
  • Test Approach #2: Classical TDD
  • Test Approach #3: Mockist TDD
  • Test Approach #4: Discovery Testing

Each sections includes a summary of the testing practices, links to some other resources on the topic and an illustration of the typical flow when writing the tests.

tagged: testing survey approach types tdd classical mockist discovery dhh

Link: http://codingitwrong.com/2016/02/08/approaches-to-testing-a-survey.html

Web Mozarts:
Resource Discovery with Puli
Jan 15, 2015 @ 17:14:53

Bernhard Schussek has written up a new post to the Web Mozarts blog talking about resource discovery with Puli. Puli is a management tool for the non-PHP files in your applications (CSS, Javascript, YAML, etc). In this post he talks about the use of the discovery component and its use of resource binding.

Many libraries support configuration code, translations, HTML themes or other content in files of a specific format. The Doctrine ORM, for example, is able to load entity mappings from special XML files. When setting up Doctrine, we need to pass the location of the *.dcm.xml file to Doctrine’s XmlDriver. That’s easy as long as we do it ourselves, but what if someone else uses our package? How will they find our file? What if multiple packages provide *.dcm.xml files? How do we find all these files? We need to remove the appropriate setup code after removing a package [and] we need to adapt the setup code after installing a new package. Multiply this effort for every other library that uses user-provided files and you end up with a lot of configuration effort. Let’s see how Puli helps us to fix this.

He talks about the concept of package roles in the tool, breaking them down in resources and providers. He then shows how Puli makes it possible to discover resources by defining a type via Puli and the code for the discovery process. He then binds the XML configuration definition and executes a "find" to ensure it's configured correctly. Finally, he shows the process to use Puli in this Doctrine example allowing it to locate and use the XML mappings dynamically via a custom driver.

tagged: puli resource discovery dynamic doctrine component

Link: http://webmozarts.com/2015/01/14/resource-discovery-with-puli/

Job Posting:
Discovery Communications, LLC Seeks Web Developer (Atlanta, GA)
Oct 06, 2010 @ 18:22:06

Company Discovery Communications, LLC
Location Atlanta, GA
Title Web Developer
Summary

*** PLEASE NOTE THAT RELOCATION IS NOT BEING OFFERED FOR THIS POSITION ***

This position will author web applications in accordance with functional specifications and maintain said software in keeping with our architectural standards.

Responsibilities:

  1. Develops new software and works on various associated development tasks in accordance with pertinent established standards under a team leader.
  2. Participates in code reviews as needed and as assigned by their respective project team leads and PMs
  3. Reports time and work effort progress to PM and team leads according to established company standards and/or as needed and requested
  4. Provides input into project technology issues and direction to their respective project team leads as appropriate
  5. Ability to accurately render level of effort estimates based on information known at the time that estimate is required.
  6. Monitor bug tracking (Jira) queue for tasks and update tasks with relevant information in a timely fashion.
  7. Ensure that the sanctioned project and development process are followed and note exceptions as necessary.
  8. Participate in meetings with other personnel, including QA,Product, Architecture, Publishing Operations, and management.
  9. Read and review functional specifications and test cases to ensure accuracy and develop understanding of business requirements.
  10. Mentor less senior developers
  11. Recommend competitive advantages gained by emerging technologies.
  12. This position requires successfully independent collaboration and with others both internally and externally with other departments
  13. Other duties as assigned

Requirements:

  • Minimum of 5 years PHP and object oriented programming
  • BS/BA degree in Computer Science or Engineering or a minimum of 5 years software development experience in relevant development languages and technical platforms.
  • Ability to work independently to finish tasks of medium duration
  • Willingness and ability to write documentation, including but not limited to, technical specifications and use cases.
  • Ability to read and understand code written in a variety of technologies:
  • Including: PHP (OO) JavaScript (OO), mySQL, HTML, CSS
  • Fundamental understanding of mySQL.
  • Must have the legal right to work in the United States.

Required Skills:

  • Javascript (OO experience preferred)
  • Design Patterns
  • Database design and optimization experience (2 years)
  • Architecture experience (2 years)
  • Team lead experience (1 year)
  • CSS1, CSS2 and knowledge of individual browsers implementation
  • Familiarity with W3C recommendations
  • A strong grasp of current browser technology with an eye towards the future
  • Experience with enterprise level caching
  • Good technical writing skills
  • Good interpersonal skills
  • Good communication skills
  • Unix experience
  • Apache
  • Understanding of differences between web image formats
  • Basic understanding of typography, colors and layout
  • Willingness to adapt to the company coding / formatting standard

Apply at: https://careers-discovery.icims.com/jobs/2510/job

tagged: job discovery communications atlanta ga developer

Link:

Pádraic Brady's Blog:
Yadis: Service Discovery for Identities like OpenID
Feb 22, 2007 @ 13:37:17

Pádraic Brady has posted a two part look at a service discovery process as it pertains to things like OpenID via Yadis.

From part one:

This first entry is an examination of Yadis, a Specification which is relied upon by OpenID. Of course Yadis is a topic of its own, since it is also used by Light-Weight Identity (LID), sxip Identity, and mIDm. You can bet more will join in once Yadis becomes more firmly established.

In this first part, he talks about what Yadis is, how it can help with service discovery, and how it would follow a "breadcrumb trail" to get to the information it needs (like getting the actual Yadi slocation from the initial OpenID request).

From part two:

After all this fuss and running about, it's easy to miss the point of Yadis - getting that final Yadis XRD document that describes the Services associated with a given ID.

Part two looks more at working with the Yadis Resource Descriptor information to grap the Type information out of it for the actual locations you'll needed. He also links to some more information on the Yadis specification in PDF form.

tagged: yadis openid discovery service openidxrd document yadis openid discovery service openidxrd document

Link:

Pádraic Brady's Blog:
Yadis: Service Discovery for Identities like OpenID
Feb 22, 2007 @ 13:37:17

Pádraic Brady has posted a two part look at a service discovery process as it pertains to things like OpenID via Yadis.

From part one:

This first entry is an examination of Yadis, a Specification which is relied upon by OpenID. Of course Yadis is a topic of its own, since it is also used by Light-Weight Identity (LID), sxip Identity, and mIDm. You can bet more will join in once Yadis becomes more firmly established.

In this first part, he talks about what Yadis is, how it can help with service discovery, and how it would follow a "breadcrumb trail" to get to the information it needs (like getting the actual Yadi slocation from the initial OpenID request).

From part two:

After all this fuss and running about, it's easy to miss the point of Yadis - getting that final Yadis XRD document that describes the Services associated with a given ID.

Part two looks more at working with the Yadis Resource Descriptor information to grap the Type information out of it for the actual locations you'll needed. He also links to some more information on the Yadis specification in PDF form.

tagged: yadis openid discovery service openidxrd document yadis openid discovery service openidxrd document

Link:


Trending Topics: